day17

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

  $().each()多用于遍历dome的html标签;

  如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook.

1 $("input[type='checkbox']").each(function(i){
2 if($(this).is(':checked') == true){
3 console.log($(this).attr("name"));
4 }
5 });


  $.each()多用于遍历数组对象。

1 $.each([{"name":"limeng","email":"xfjylimeng"},{"name":"hehe","email":"xfjylimeng"}], function(i,n){
2 console.log("索引:"+ i +",对应值为:"+ n.name);
3 });

2-query 中的$.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方法(包括关联js文件中),只会执行最后一个window.onload,也就是向上覆盖。

      $(document).ready()可以同时执行多个,如果同一个页面上有多个$(document).ready()方法(包括关联js文件中),JQuery能够很好地处理这些情况,每次调用$(document).ready()方法都会在现有的行为上追加新的行为,这些行为函数会根据注册的顺序依次执行。

  3.简化写法不同

   window.onload没有简化写法。

   $(document).ready()有两种简化写法:$().ready(function)、$(function)。

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

             实现链式编程的核心,是对象中的每一个方法都会返回当前对象。

    var 对象 = {
      方法名:function(){
      // …
      return this; // 实现链式编程的核心this
      }
      }

   在方法中,js提供一个this的关键字,表示当前对象。

posted @ 2021-03-07 23:05  非自然数  阅读(27)  评论(0编辑  收藏  举报