一、问答:
1.Jquery 中, $(document).ready()是什么意思?和window.onload 的区别? 还有其他什么写法或者替代方法?
$(document).ready():表示文档结构已经加载完成(不包含图片等非文字媒体文件)
window.onload:指示页面包含图片等文件在内的所有元素都加载完成。
区别:
执行时间不同:
$(document).ready()不用等到图片加载完成就可以执行
window.onload 需要等到图片加载完成
个数限制不同:
window.onload只能写一个,后面的灰覆盖前面的。$(document).ready()可以写多个,按顺序执行
$(document).ready()的替代写法是 $(function(){}) 和 $().ready(function(){})
2.$node.html()和$node.text()的区别?
区别:
1.不带参数:
$node.html()取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。
$node.text()由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。
2.带参数:
$node.html()带参数可以直接将html标签或者jquery对象插入$node内
$node.text()带参数只能插入文本内容,即使加入html标签或者jquery对象也会转译成普通文本
3.$.extend 的作用和用法?
$.extend 将两个或者多个对象合并未一个对象
用法:
jQuery.extend( target [, object1 ] [, objectN ] )
- 当我们提供两个或多个对象给$.extend(),对象的所有属性都添加到目标对象(target参数)
- 目标对象(第一个参数)将被修改,并且将通过$.extend()返回。然而,如果我们想保留原对象,我们可以通过传递一个空对象作为目标对象
var object1={
name:"xiaohan"
};
var object2={
age:"18"
};
var object = $.extend({}, object1, object2);
console.log(JSON.stringify(object)); //{"name":"xiaohan","age":"18"}
})
- 如果第一个参数是boolean值 ,就会执行深拷贝
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 的链式调用是什么?
链式调用就是执行完一个结果后,就返回对象本身,使用链式调用可以让代码更加简洁
5.JQuery ajax 中缓存怎样控制?
在ajax中cache参数,true为缓存,false为不缓存 (默认: true)
6.jquery 中 data 函数的作用
data() 方法允许我们在jquery元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险。
二、代码:
参考文档:
jquery中文API
本教程版权归小韩同学和饥人谷所有,转载须说明来源