jQuery静态方法

什么是静态方法?

  • 静态方法对应的是对象方法,对象方法用实例对象调用,而静态方法用类名调用。
// 1.定义一个类function AClass() {}// 2.给这个类添加一个静态方法// 直接添加给类的就是静态方法AClass.staticMethod = function () {alert("staticMethod");}// 静态方法通过类名调用AClass.staticMethod();

什么是实例方法?

 // 3.给这个类添加一个实例方法AClass.prototype.instanceMethod = function () {alert("instanceMethod");}// 实例方法通过类的实例调用// 创建一个实例(创建一个对象)var test = new AClass();// 通过实例调用实例方法test.instanceMethod();

两者的区别

二者的区别:

从定义上,实例方法要用到function这个对象中的prototype属性来定义,静态方法通过 AClass.直接定义;从方法调用上,静态方法可以直接通过AClass.来调用,实例方法要通过先定义一个引用变量,指向构造函数定义的新对象。

函数是一个对象,函数对象中的属性 prototype可以想成一个指针,指向一个方法(这样不用每一次用构造函数创造一个新实例后都要将方法重新创建一遍)。这样就好理解了,var test是AClass的一个引用,也就是指针,test就可以指向instanceMethod这个方法,如果直接 AClass.instanceMethod 是会报错的,因为AClass不是一个指针,test.staticMethod()也会报错,因为test不是一个方法对象。

each方法

原生JS

原生js的Foreach()方法遍历数组

var arr = [1, 3, 5, 7, 9];
arr.forEach(function (value, index) {console.log(index, value);});obj.forEach(function (value, index) {console.log(index, value);});

第一个参数: 遍历到的元素
第二个参数: 当前遍历到的索引
注意:
        原生的forEach方法只能遍历数组, 不能遍历伪数组!!!

jQuery静态方法

利用jQuery的each静态方法遍历数组

var arr = [1, 3, 5, 7, 9];
var obj = {0:1, 1:3, 2:5, 3:7, 4:9, length:5};
$.each(arr, function (index, value) {console.log(index, value);});console.log("-------------")$.each(obj, function (index, value) {console.log(index, value);});

第一个参数: 当前遍历到的索引
        第二个参数: 遍历到的元素
        注意:
        jQuery的each方法是可以遍历伪数组的

map方法

原生JS

利用原生JS的map方法遍历

 var arr = [1, 3, 5, 7, 9];var obj = {0:1, 1:3, 2:5, 3:7, 4:9, length:5};arr.map(function (value, index, array) {console.log(index, value, array);});obj.map(function (value, index, array) {console.log(index, value, array);});

第一个参数: 当前遍历到的元素
第二个参数: 当前遍历到的索引
第三个参数: 当前被遍历的数组
注意点:
        和原生的forEach一样,不能遍历的伪数组!!!

jQuery静态方法

和jQuery中的each静态方法一样, map静态方法也可以遍历伪数组

var arr = [1, 3, 5, 7, 9];$.map(arr, function (value, index) {console.log(index, value);});

  第一个参数: 要遍历的数组
        第二个参数: 每遍历一个元素之后执行的回调函数
        回调函数的参数:
        第一个参数: 遍历到的元素
        第二个参数: 遍历到的索引

var arr = [1, 3, 5, 7, 9];var obj = {0:1, 1:3, 2:5, 3:7, 4:9, length:5};
var res = $.map(obj, function (value, index) {console.log(index, value);return value + index;});var res2 = $.each(obj, function (index, value) {console.log(index, value);return value + index;});console.log(res);console.log(res2);

   jQuery中的each静态方法和map静态方法的区别:
        each静态方法默认的返回值就是, 遍历谁就返回谁
        map静态方法默认的返回值是一个空数组

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

Other some static method

// 真数组var arr = [1, 3, 5, 7, 9];// 伪数组var arrlike = {0:1, 1:3, 2:5, 3:7, 4:9, length:5};// 对象var obj = {"name":"lnj", age:"33"};// 函数var fn = function(){};// window对象var w = window;

trim()

/*$.trim();作用: 去除字符串两端的空格参数: 需要去除空格的字符串返回值: 去除空格之后的字符串*//*var str = "    lnj    ";var res = $.trim(str);console.log("---"+str+"---");console.log("---"+res+"---");*/

$.trim();
        作用: 去除字符串两端的空格
        参数: 需要去除空格的字符串
        返回值: 去除空格之后的字符串

isWindow()

 var res = $.isWindow(w);console.log(res);

$.isWindow();
        作用: 判断传入的对象是否是window对象
        返回值: true/false

isArray()

        var res = $.isArray(w);console.log(res);

$.isArray();
        作用: 判断传入的对象是否是真数组
        返回值: true/false

isFunction()

        var res = $.isFunction(jQuery);console.log(res);

$.isFunction();
        作用: 判断传入的对象是否是一个函数
        返回值: true/false
        注意点:jQuery框架本质上是一个函数(如下面的demo):

(function( window, undefined ) {})( window );

Mr.J-- jQuery学习笔记(三)--静态方法详解相关推荐

  1. ELK学习笔记之Logstash详解

    0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining cap ...

  2. oracle scn 重置,学习笔记:Oracle SCN详解 SCN与Oracle数据库恢复的关系

    天萃荷净 分享一篇关于Oracle SCN的详解,介绍SCN与Oracle数据库恢复的关系和SCN在数据库中的作用 一.为什么需要System checkpoint SCN号与Datafile Che ...

  3. expect学习笔记及实例详解【转】

    1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 1.1 首行加上/usr/bin/expect 1.2 spawn: 后面加上需要执行的shell命令,比如说 ...

  4. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  5. PyQt5学习笔记——一文详解QObject

    QObject详解笔记1 一.简介 QObject是所有Qt对象的基类 二.功能作用 2.1 对象名称.属性 2.1.1 API setObjectName("唯一名称") 给QT ...

  6. CoAP学习笔记——CoAP格式详解

    0 前言 CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型 ...

  7. CSS入门学习笔记(案例+详解)

    CSS入门学习笔记 一.CSS简介 1.什么是CSS? 2.为什么使用CSS? 3.CSS的作用 二.CSS语法 1.CSS基础语法 2.CSS注释语法 3.CSS应用方法 三.CSS选择器 1.元素 ...

  8. CoAP协议学习笔记——CoAP格式详解

    CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型设备而言, ...

  9. shell入门学习笔记-12-命令详解: echo与printf

    系列目录与参考文献传送门: shell入门学习笔记-序章 命令详解 admindeMacBook-Pro:myshell admin$ type cd cd is a shell builtin ad ...

最新文章

  1. 苹果8怎么投屏到电视_苹果电脑电视不在一个房间可以投屏
  2. 新建一个Windows Service的方法
  3. step-by-step多文件WEB批量上传(swfupload)的完美解决方案
  4. 985材料研究生转行自动化,收割一众大厂,拿到54w的工作
  5. Python 文件编码问题解决
  6. 《剑指offer》第五十六题(数组中唯一只出现一次的数字)
  7. 【LeetCode】Python之旅 1-2
  8. Atitit 信息检索 之音乐检索实践 艾提拉注 目录 1. 常规检索 歌手 歌名 1 1.1. 年代检索 1 1.2. 歌词检索(可以依靠web 1 1.3. 哼唱检索 原曲检索(可以使用酷
  9. 漫画 | 前端发展史的江湖恩怨情仇
  10. 计算机网卡的安装过程,千兆网卡怎么装_千兆网卡安装步骤
  11. 闹闹天宫一直显示服务器错误,闹闹天宫为什么进不去_闹闹天宫进不去解决办法_玩游戏网...
  12. 事半功倍追求卓越:人生找位的“TONS法则”
  13. mac python3 调用 .so_Mac OS X链接.so文件到动态库
  14. 【IDEA】快捷重写equals方法
  15. PHP正则验证手机号
  16. 二维码生成和解码(二)
  17. 中华英才网后续难雄起
  18. 2018,华米高歌猛进的一年 1
  19. win10 mmdetection3d环境搭建
  20. win7 如何设置快速启动栏

热门文章

  1. 华为诺亚CV方向19篇论文入选ICCV 2019
  2. CVPR 2021 Oral | Transformer!UP-DETR:无监督预训练检测器
  3. 全局路径规划:图搜索算法介绍1(BFS/DFS)
  4. 国土空间规划基数转换初探
  5. python3.5安装scrapy_win7+Python3.5下scrapy的安装方法
  6. hj212协议数采仪_CEMS系统配套用环保数采仪 HJ212协议上传
  7. Java jar 修改(springfox-swagger-ui-2.9.2.jar 修改去掉顶部的绿色topbar,汉化)
  8. linux ps ax tl,Linux常用指令 - osc_wa6fkyf0的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. Android控件Gallery3D效果 .
  10. Android应用发布渠道汇总(更新中)