$.extend拓展()
<script src="./jquery-1.12.4.js"></script>
<script>
/* $.extend()函数用于将一个或多个对象的内容合并到目标对象*/
let obj1 = {
name:'zhangsan',
age:18,
study:{
k:'大数据',
cj:'80'
}
}
let obj2 = {
name:'lisi',
car:'bmw',
biao:'lls',
study:{
k:'前端'
}
}
/* 把两个对象合并成一个对象 */
/* 合并的对象是obj1 */
/* 第一个参数默认为false 表明没有深度合并对象 */
/* obj1里面的cj字段不会被保留,obj1被obj2覆盖了 */
/* let newobj = $.extend(obj1,obj2);
console.log('newobj',newobj)
console.log('obj1',obj1)
console.log('obj2',obj2) */
/* 第一个参数默认为true 表明深度合并对象*/
/* obj1里面的cj字段也会被保留 */
/* let newobj = $.extend(true,obj1,obj2);
console.log('newobj',newobj)
console.log('obj1',obj1)
console.log('obj2',obj2) */
</script>
$.extend应用
$.fn.extend()
$.fn.extend扩展.js
/* $.fn.extend() 函数为jQuery扩展一个或多个实例属性和方法 */
/* 实例理解为jq对象 */
/* 怎么实现 $('div').show(); 这种功能? */
/* jQuery.fn是jQuery的原型对象,jQuery.fn.extend()方法用于为jQuery的原型添加新的属性和方法。这些方法可以在jQuery实例对象上调用
*/
/* $.fn.extend( object ) 里面object 用来合并到jQuery的原型对象上
*/
$.fn.extend({
setvalue:function(){
/* 这里的this是jq对象,所以只能用jq的方法 */
this.val('请输入内容')
},
setplacehold:function(){
this.attr('placeholder','请输入你想要的富婆类型')
},
checkAll:function(){
/* 这上面的this代表的是调用者(input[type=checkbox]元素集合) */
this.each(function(index,item){
/* console.log(index,item) */
/* 这里的item是原生的元素 */
/* item.checked=true; */
/* $(item).prop('checked',true) */
/* attr 适用于自定义的属性 */
/* 对于元素本身存在的属性应该使用prop */
console.log(this);
/* 应为each里面的this是代表元素集合里面的每一个元素 */
this.checked = true;
})
},
noAll:function(){
this.each(function(index,item){
/* item.checked=false; */
/* $(item).prop('checked',false) */
this.checked = false;
})
}
})
jquery框架分析
网友评论