目录
jquery的循环方法
jquery的extend方法
jquery的循环方法
- jQuery存在隐式迭代,会在一些我们需要循环操作的时候 自动给我们进行循环
- 但是 隐式迭代 在某些特定情况下 无法实现需求 这时 就需要我们手动循环了
- jquery中给我们提供了两个循环方法——$.each 和 jquery元素对象.each
- jQuery函数的each方法 $.each
- 用法:$.each(要循环的数组或对象,function(idx,item){ 循环体代码 })
- 作用:自动循环要循环的数组或对象 每循环一次 执行一次循环体代码
- 说明:回调函数中 idx形参表示索引/属性名,item形参表示循环出来的数组项/属性值
- jQuery对象的each方法 $("选择器/html内容/DOM元素").each
- 用法:jQuery元素对象.each(function(idx,item){ 循环体代码 })
- 作用:自动循环jquery元素对象这个伪数组 idx是索引 item是循环出来的每一个DOM元素
- 在jquery的源代码中 查找 jQuery.extend 在extend函数调用的实参对象中 查找each 这个在jQuery.extend中编写的each方法 就是$.each
jquery的extend方法
- 用法1:$.extend(对象1,对象2,对象3,...)
- 作用:将传入extend中的实参对象 都合并到 第一个对象上 并将合并好的对象 返回出来
- 问题:参数对象中 第一个对象会发生改变
- 用法2:$.extend({},对象1,对象2,...)
- 作用:这种用法 就可以解决上述问题了 因为第一个参数对象 是一个空对象
- 用法3:使用extend方法 实现对象的浅拷贝
- 写法:$.extend({},要被拷贝的对象)
- 作用:实现浅拷贝 并将拷贝好的对象 返回出来
- 注意:浅拷贝的作用是 将原复杂类型数据 拷贝下来 并保证 表层数据互相不影响 深层数据 还是会互相影响的
- 用法4:使用extend方法 实现对象的深拷贝
- 写法:$.extend(true,{},要拷贝的对象)
- 作用:实现对象的深拷贝 将要拷贝的对象中的属性 合并到空对象中并返回出来 拷贝出来的对象 和 原对象 互不影响