当前位置: 移动技术网 > IT编程>开发语言>Jquery > jQuery学习笔记(二)

jQuery学习笔记(二)

2019年08月19日  | 移动技术网IT编程  | 我要评论

 

jqueryt静态方法详解 ==> each

           ==> map

          ==> trim

          ==> isarray

                                 ==> isfunction

         ==> iswindow 

         ==> holdready

一,each方法

  注:为了更好的展示,首先创建一个数组和一个对象 (let 与 arr 区别详解见 javascript笔记 (一))

1 let arr = [1, 3, 5 ,7, 9];
2 
3 let obj = {
4       0:1,
5       2:3,
6       3:5,
7       4:7,
8       length:4,    
9 };

 

  对于原生js,each方法只适合遍历数组,而不适合遍历伪数组(伪数组详解见笔记(1))

  代码示例

1 arr.foreach(function (value, index){
2            console.log(index, value)     
3 })
4 
5 obj.foreach(function (value, index){
6            console.log(index, value)     
7 })

  结果:

  说明

   foreach方法的第一个参数为遍历到的元素,第二个参数为当前遍历的索引

   原生js的foreach方法只能遍历数组,而不能遍历伪数组

   对于jquery,each方法既适合遍历数组,也适合遍历伪数组

  代码示例

$.each(arr, function (index, value){
           console.log(index, value);
})

$.each(obj, function (index, value){
           console.log(index, value);
})

  结果

  说明

   jquery的 each 方法 第一个参数为 正在遍历元素的索引,第二个参数为遍历到的元素

   jquery的 each方法既适合遍历数组,也适合遍历伪数组

 二,map静态方法

  简而言之,map静态方法 和 each静态方法大体上相似,都是 js的 map静态方法只能遍历数组,不能遍历伪数组,而jquery却都能

  两者之间还有的区别就是

   each 静态方法的返回值就是 遍历谁就返回谁

   map 静态方法的返回值 就是一个空数组

   因此,each静方法不支持在回调函数中对遍历的数组进行改造

      map静态方法可以在回调函数中通过 return 对遍历的数组进行处理,然后生成一个新的数组返回

1 arr.map(function(value, index, array) {
2           
3 })
4 # 基本语法格式,参数见文生意
5 $.map(arr, function(value, index) {
6 
7 })

 三,trim 静态方法

  直白点说,这就是一个将字符串两端空格去掉,并且返回一个去掉空格的新的字符串的静态方法

$.trim(str)

四,isarray、isfunction、iswindow 静态方法

  这三个静态方法都是用来判断的,返回值均为 true/false

  其中 isarray()静态方法用来判断是否为 真数组

   isfunction()静态方法用来判断是否是 函数

  iswindow 静态方法用来判断是否为 window对象

  补充:对于 $.isfunction(jquery) 的判断,其结果为 true

   原因:本质上 jquery 框架 也是一个函数,其大体构造为

1  (function (window, undefined) {
2 
3 })(window);  // 立即执行函数

   且,从此可以得到一个立即执行函数的写法

1 function test() {
2 
3  }
4 test()
5 
6 // ==>
7 (function test() {
8 
9 })(window);

 

四,holdready 静态方法

 作用:暂停 入口函数的执行

 参数:true/ false

 1 $.holdready(true)  // 使得下面的入口函数不执行
 2 
 3 $(document).ready(function(){
 4       alert("ready"); 
 5 })
 6 
 7 
 8 let btn = document.queryselector("button");
 9 btn.onclick = function() {
10         $.holdready(false);  // 点击按钮,使得上面的入口函数得以再次执行
11 }

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网