一、問答:
1.Jquery 中, $(document).ready()是什么意思?和window.onload 的區(qū)別? 還有其他什么寫法或者替代方法?
$(document).ready():表示文檔結構已經加載完成(不包含圖片等非文字媒體文件)
window.onload:指示頁面包含圖片等文件在內的所有元素都加載完成。
區(qū)別:
執(zhí)行時間不同:
$(document).ready()不用等到圖片加載完成就可以執(zhí)行
window.onload 需要等到圖片加載完成
個數(shù)限制不同:
window.onload只能寫一個,后面的灰覆蓋前面的。$(document).ready()可以寫多個,按順序執(zhí)行
$(document).ready()的替代寫法是 $(function(){}) 和 $().ready(function(){})
2.$node.html()和$node.text()的區(qū)別?
區(qū)別:
1.不帶參數(shù):
$node.html()取得第一個匹配元素的html內容。這個函數(shù)不能用于XML文檔。但可以用于XHTML文檔。
$node.text()由所有匹配元素包含的文本內容組合起來的文本。這個方法對HTML和XML文檔都有效。
2.帶參數(shù):
$node.html()帶參數(shù)可以直接將html標簽或者jquery對象插入$node內
$node.text()帶參數(shù)只能插入文本內容,即使加入html標簽或者jquery對象也會轉譯成普通文本
3.$.extend 的作用和用法?
$.extend 將兩個或者多個對象合并未一個對象
用法:
jQuery.extend( target [, object1 ] [, objectN ] )
- 當我們提供兩個或多個對象給$.extend(),對象的所有屬性都添加到目標對象(target參數(shù))
- 目標對象(第一個參數(shù))將被修改,并且將通過$.extend()返回。然而,如果我們想保留原對象,我們可以通過傳遞一個空對象作為目標對象
var object1={
name:"xiaohan"
};
var object2={
age:"18"
};
var object = $.extend({}, object1, object2);
console.log(JSON.stringify(object)); //{"name":"xiaohan","age":"18"}
})
- 如果第一個參數(shù)是boolean值 ,就會執(zhí)行深拷貝
jQuery.extend( [deep ], target, object1 [, objectN ] )
var object1={
name:"xiaohan",
};
var object2={
age:"18",
friends:{
name:"xiaosusu",
age:17
}
};
var object = $.extend(true,{}, object1, object2);
console.log(JSON.stringify(object)); //{"name":"xiaohan","age":"18","friends":{"name":"xiaosusu","age":17}}
4.JQuery 的鏈式調用是什么?
鏈式調用就是執(zhí)行完一個結果后,就返回對象本身,使用鏈式調用可以讓代碼更加簡潔
5.JQuery ajax 中緩存怎樣控制?
在ajax中cache參數(shù),true為緩存,false為不緩存 (默認: true)
6.jquery 中 data 函數(shù)的作用
data() 方法允許我們在jquery元素上綁定任意類型的數(shù)據,避免了循環(huán)引用的內存泄漏風險。
二、代碼:
參考文檔:
jquery中文API
本教程版權歸小韓同學和饑人谷所有,轉載須說明來源