1. 程式人生 > 其它 >js與jquery

js與jquery

什麼是閉包?

閉包就是能夠讀取其他函式內部變數的函式,在本質上,閉包是將函式內部和函式外部連線起來的橋樑。只有函式內部的子函式才能讀取區域性變數,所以閉包可以理解成“定義在一個函式內部的函式”。

  閉包包含自由(未繫結到特定物件)變數,這些變數不是在這個程式碼塊內或者任何全域性上下文中定義的,而是在定義程式碼塊的環境中定義(區域性變數)。“閉包”一詞來源於以下兩者的結合:要執行的程式碼塊(由於自由變數被包含在程式碼塊中,這些自由變數以及它們引用的物件沒有被釋放)和為自由變數提供繫結的計算環境(作用域)。

深拷貝與淺拷貝的區別:

深拷貝和淺拷貝最根本的區別在於是否真正獲取一個物件的複製實體,而不是引用。

淺拷貝(shallowCopy)只是增加了一個指標指向已存在的記憶體地址,

深拷貝(deepCopy)是增加了一個指標並且申請了一個新的記憶體,使這個增加的指標指向這個新的記憶體,

使用深拷貝的情況下,釋放記憶體的時候不會因為出現淺拷貝時釋放同一個記憶體的錯誤。

簡單的來說就是,在有指標的情況下,淺拷貝只是增加了一個指標指向已經存在的記憶體,而深拷貝就是增加一個指標並且申請一個新的記憶體,使這個增加的指標指向這個新的記憶體,採用深拷貝的情況下,釋放記憶體的時候就不會出現在淺拷貝時重複釋放同一記憶體的錯誤!

jquery三種方法: 第一種: $(document).ready(function(){

}) 第二種: $().ready(function(){
}) 第三種: $(function(){
}) 屬性: //$("li:first") //$("li:eq(2)").css("color","red")//索引等於2 內容顏色為紅色 //$("li:gt(2)").css("color","green")//大於2的內容顏色為綠色 //$("li:lt(2)").css("color","blue")//小於2的內容顏色為藍色 //$("li:parent").css("color","red") //$("li:has(.span)").css("color","red")選擇器 //$("li:contains(333)").css("color","red")//文字