jquery 实现链式编程的原理是什么?

1、jQuery 中的$.each 和$(选择器).each()有什么区别? 

  1、$.each() 可以针对所有对象或者数组进行遍历
  2、$(selector).each() 针对jquery选择器返回的jquery内部对象进行遍历

2、jQuery 中的$.each 和 js 中的 foeEach()有什么区别? 

  回调函数中参数的位置不一样,forEach中为第一个参数为ele,第二个为index。each中第一个为index,第二个为ele;
  回调函数中是否有返回值,forEach中没有返回值,each有返回值,返回被遍历的数组
  forEach不能遍历对象,可以使用for in;
  而each可以通过jq的方法来遍历,即$.each(obj,function(key,value){})

3、window.onload 和$(document).ready() 有什么区别?

  1、执行时间不同
  window.onload必须等到页面内的所有元素()加载完毕后才能执行。
  $(document).ready()是页面DOM结构绘制完毕后就执行,不必等到加载完毕。

  2、执行次数不同
  window.onload不能同时执行多个,如果同一个页面上面有多个window.onload方法,只会执行最后一个window.onload,也就是向上覆盖。
  $(document).ready()可以同时执行多个,如果同一个页面上有多个$(document).ready()方法,JQuery能够很好地处理这些情况,每次调用$(document).ready()方法都会在现有的行为上追加新的行为,这些行为函数会根据注册的顺序依次执行。

  3、简化写法不同
  window.onload没有简化写法。
  $(document).ready()有两种简化写法:$().ready(function)、$(function)。

4、jQuery 实现链式编程的原理是什么?

  1、实现链式编程的核心,是对象中的每一个方法都会返回当前对象。
  var 对象 = {
        方法名:function(){
        // …
        return this; // 实现链式编程的核心this
         }
       }
  2、在方法中,js提供一个this的关键字,表示当前对象。

posted @ 2021-03-07 21:24  gaobz  阅读(537)  评论(0)    收藏  举报