目录

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,{},要拷贝的对象)
  • 作用:实现对象的深拷贝 将要拷贝的对象中的属性 合并到空对象中并返回出来 拷贝出来的对象 和 原对象 互不影响