JSONP / DOM / BOM 部分總結

來源:互聯網
上載者:User

標籤:來源   baidu   包括   訪問   就刪除   firefox   關閉   取域   原理   

#JSONP 跨域請求

JSONP原理:通過動態建立script標籤,利用其scr跨域的屬性,訪問其他域的伺服器,請求資料並通過回呼函數返回請求的結果

20:26 2017/7/13 突然發現在記事本按F5可以自動寫出當前日期和時間,美滋滋

1.遞迴函式應該始終使用arguments.callee來遞迴的調用自身. 不要使用函數名 (函數名可能會發生變化)
2.匿名函數 也叫 拉姆達函數
3.關於閉包的範圍: 閉包的範圍鏈包含著它自己的範圍. 包含函數的範圍和全域範圍
通常,函數的範圍及其所有變數都會在函數執行結束後被摧毀, 但是當一個函數返回了一個閉包時,這個函數的
範圍會一直在記憶體中儲存到閉包不存在為止.
建立閉包必須維護額外的範圍,所以過度的使用它們可能會佔用大量的記憶體..

關於DOM :
擷取瀏覽器/可視視窗大小:
瀏覽器視窗的大小. IE9+ 及 標準瀏覽器 innerWidth , innerHeight ,outerWidth , outerHeight
在IE9+ safari Firefox 中 outWidth 和 outHeight 返回瀏覽器視窗本身的大小(無論是從window對象還是
從某個架構訪問) . 在opera中, 這個兩個屬性工作表示的是整頁模式容器(opera中單個標籤頁對應的瀏覽器視窗)的大小
在Google瀏覽器中這 四個屬性返回相同的值,即可視視窗大小而非瀏覽器視窗大小
document.documentElement.clientHeight
document.documentElement.clientWidth
IE6中
document.body.clientHeight / document.body.clientWidth

window下的方法
open()可以導航到一個特定url,也可以開啟一個新的瀏覽器視窗,這個方法接受四個參數 : 要載入的url , 視窗目標
,一個特性字串以及一個表示新頁面是否取代瀏覽器記錄中當前載入頁面的布爾值 . 通常只傳第一個參數
close() 關閉視窗
setTimeout() 逾時調用 clearTimeout()
setTimeout的參數 ,第一個參數可以function ,可以是包含js代碼的字串.如同eval() 一樣.
傳遞字串可能導致效能損失( 具體損失在哪裡 ? ), 因此不建議以字串作為第一個參數
setInterval() 間歇調用 clearInterval()
清除間歇調用的ID很重要,因為他會一直執行下去,而 逾時調用,每次執行之後,如果不設定另一次
逾時調用,調用會自動停止.
一般的來說,使用逾時調用來類比間歇調用是一種最佳模式,在開發環境下,很少使用一個真正的間歇調用,
原因是下一次間歇調用可能會在前一次調用結束前啟動. 所以最好不要使用間歇調用 (怪不得大牛的代碼都是用的遞迴+setTimeout
實現setInterval的效果)

系統對話方塊 :
alert() confirm() prompt()

BOM對象:
location對象是最有用的BOM對象之一, 他提供與當前視窗載入的文檔有關的資訊, 還提供了一些導航功能.
location既是window對象的屬性,也是document對象的屬性,
location的幾個屬性
1.hash 返回URL中的hash(#號後跟零或多個字元)
2.host 返回伺服器名稱和連接埠號碼(如果有的話) www.baidu.com:80
3.hostname 返回伺服器名稱
4.href 返回當前載入的頁面的完整URL 用於頁面跳轉 location的toString()方法也返回這個值

location.href = "" === localtion.assign()方法一樣 20:57 2017/7/13
5.protocol "https:" 返回頁面使用的協議 . http/https
6.返回url的查詢字串, 查詢字串以問號開頭 "?q=javascript"
除去hash外 每次設定location的屬性, 頁面都會以新的URL重新載入

DOM

nodeType 判斷節點的類型
1 元素
2 屬性
3 文本
nodeName / nodeValue
節點的屬性 : childNodes firstChild lastChild parentNode previousSibling nextSibling
方法: hasChildNodes() 在一個節點包含一個或多個子節點的時候返回 true
appendChild() 在末尾插入一個節點
insertBefore() 在開頭插入一個節點
replaceChild(newNode,oldNode) 替換節點 該節點的關係指標都會從被它替換的節點複製過來, 儘管從技術上講
被替換的節點仍然還在文檔中,但他在文檔中已經沒有了自己的位置
removeChild() 刪除節點 原理與replaceChild()相同
cloneNode() 複製節點 參數為true時深複製(所有內容html) 參數為false只複製當前節點
normalize() 處理文檔樹中的文本節點, 調用此方法後,會在其後代節點中尋找一個文本節點或多個連續的文本節點
,如果找到了就刪除它.

document類型 : 表示文檔
nodeType : 9
nodeName : "#document"
屬性:title 標題 document.title 設定或擷取標題
URL document.URL 擷取完整的URL
domain 網域名稱 document.domain 擷取網域名稱
referrer document.referrer 擷取來源頁面的URL

事件對象 21:39 2017/7/13
在觸發DOM上的某個事件時, 會產生一個事件對象event, 這個對象中包含著所有與事件有關的資訊,包括導致事件的元素,
事件的類型以及其他與特定事件相關的資訊

JSONP / DOM / BOM 部分總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.