什么叫jQuery的核心对象?

  $    $===jQuery

什么叫jQuery的原型对象?

  $.fn    $.fn===$.prototype

什么叫静态方法?

  在构造函树上定义的方法,静态方法通过构造函数去调用。例如:Math.random()

什么叫动态方法?

  动态方法也叫实例方法,在原型对象上添加的方法叫动态方法,通过实例对象去调用。例如:arr.slice()

jQuery的静态方法和动态方法?

  给jQuery扩展插件的时候,有两种方式,一种是$.extend()的方式,一种是$.fn的方式,$.extend()扩展的是静态方法,$.fn扩展的是动态方法。

  jQuery的静态方法用核心对象去调用,也就是用$去调用,jQuery的动态方法用原型对象去调用,也就是用$.fn去调用。

  现在给jQuery扩展一个获取随机色的方法:

    (function($){
      $.extend({
        randomColor:function(){
          var col="rgba(";
          for(var i=0;i<3;i++){
            col+=Math.floor(Math.random()*256)+",";
          }
          col+=Math.random().toFixed(2)+")";
          return col;
        }
      });
    })($);
  这就是扩展了一个静态方法,使用时用$去调用。比如给div设置随机色,$("div").css("backgroundColor",$.randomColor);
 
  现在给jQuery扩展一个获取/设置背景色的方法:
    (function($){
      $.fn.bgc=function(color){
        if(!color) return this.css("backgroundColor");
        this.css("backgroundColor",color);
        return this;
      }
    })($);
  这就是扩展了一个动态方法,使用时用jQ对象去调用。比如设置div的背景色,$("div").bgc("red");这就是$.fn的方式,bgc()就是这个fn函数。

   

  也就是说,使用$.extend()是给jQuery添加了静态方法,使用时用$调用,使用$.fn是给JQuery添加了动态方法,使用时用$.fn调用

$叫核心对象,$.fn叫原型对象。

  typeof $--------->function

  typeof $.fn--------->object

  $相当于类,由类直接调用方法,$.fn相当于实例对象,实例对象去调用方法。

jQuery的核心对象、原型对象、静态方法、动态方法的更多相关文章

  1. JS高级---实例对象使用属性和方法层层的搜索 (实例对象-->原型对象-->报错)

    实例对象使用属性和方法层层的搜索:   实例对象使用的属性或者方法, 先在实例中查找, 找到了则直接使用: 找不到则, 再去实例对象的__proto__指向的原型对象prototype中找, 找到了则 ...

  2. JS核心系列:原型对象

    在JS中,每当创建一个函数对象f1 时,该对象中都会内置一些属性,其中包括prototype和proto, prototype即原型对象. 每一个构造函数都有一个与之相关联的对象,该对象称之为原型对象 ...

  3. javaScript系列 [03]-javaScript原型对象

    [03]-javaScript原型对象 引用: javaScript是一门基于原型的语言,它允许对象通过原型链引用另一个对象来构建对象中的复杂性,JavaScript使用原型链这种机制来实现动态代理. ...

  4. javascript面向对象系列第一篇——构造函数和原型对象

    × 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如 ...

  5. [js高手之路]原型对象(prototype)与原型链相关属性与方法详解

    一,instanceof: instanceof检测左侧的__proto__原型链上,是否存在右侧的prototype原型. 我在之前的两篇文章 [js高手之路]构造函数的基本特性与优缺点 [js高手 ...

  6. JavaScript 面向对象之原型对象

    原型的概述 我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法. 逻辑上可以这么理解:prototype 通过调用构 ...

  7. javascript原型对象与原型链

    在javascript中,当系统加载构造函授后 ,会自动在内存中增加一个对象,这个对象就是原型对象.构造函数和原型对象在内存中表现为相互独立,但两者之间还存在联系,构造函数的prototype是原型对 ...

  8. JavaScript基础之原型对象和原型链

    原型对象 原型对象简单来说就是函数的原型所指向的对象.前面说原型的时候,说了Object.prototype所指对象就是Object(函数)的原型对象.在每个函数的原型对象中,默认会有construc ...

  9. JS高级---构造函数,实例对象和原型对象,三者关系

    构造函数,实例对象和原型对象,三者关系 构造函数里面有原型(prototype)属性,即原型对象 原型对象里的constryctor构造器指向构造函数 通过构造函数,实例化,创建的就是实例对象. 实例 ...

  10. 275 原型与原型链:显式原型prototype ,隐式原型__proto__,隐式原型链,原型链_属性问题,给原型对象添加属性/方法

    1.所有函数都有一个特别的属性 prototype : 显式原型属性 [普通构造函数的实例对象没有prototype 属性,构造函数有__proto__属性,原型对象有__proto__属性 ] 2. ...

随机推荐

  1. fiddler抓包-4-简单对数据进行mock

    前言 Fiddler中有一个 AutoRespinder 选项,我们可以用它作为mock数据,可以修改它的参数等等.所有信息的返回,与我们断点类似,但这里也可以mock状态码直接是404或者跳转至另一 ...

  2. 《Interest Rate Risk Modeling》阅读笔记——第一章:利率风险建模概览

    目录 第一章:利率风险建模概览 思维导图 一些想法 第一章:利率风险建模概览 思维导图 一些想法 久期向量模型类似于研究组合收益的高阶矩. 久期向量模型用的是一般多项式表达高阶久期,试试正交多项式? ...

  3. python3 四舍五入(0.5可以进1)

    今天做了一个题要求四舍五入,然后找了一个方法:round()可以四舍五入, 试了试1.5--->2 试了试0.5--->0   !!!! 找了几个方法说可以的: # 方法一: from _ ...

  4. linux centos7下源码 tar安装mysql5.7.22或mysql5.7.20 图文详解

    之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一... 现在用tar包安装5.7.22和5.7.20一样的   5.7.20之后的和之前的版本还是有点不一样的 官网地址 https:// ...

  5. 基于串口的SD_card系统

    概述 基于串口的SD_card系统1, 扫描文件:2, 新建文件:3, 删除文件:4, 写入文件:5, 读取文件. 整个文件系统的串口通信方式都是ASC通信方式. 文件系统分为简单实用方式和专业使用方 ...

  6. 阿里云开发工具包(SDK)

    参考: 阿里云开发工具包(SDK)For Python Alibaba Cloud SDK for Go

  7. Java自学-I/O 关闭流的方式

    关闭流的方式 所有的流,无论是输入流还是输出流,使用完毕之后,都应该关闭. 如果不关闭,会产生对资源占用的浪费. 当量比较大的时候,会影响到业务的正常开展. 步骤 1 : 在try中关闭 在try的作 ...

  8. Spring Boot 实战 入门

    目前没有系统学习过 Spring 框架,参与工作时,直接参与到了 Spring Boot 项目的开发.目前还比较菜,所以,你要是和我一样,不妨也跳过 Spring 框架的学习,直接学习 Sring B ...

  9. [转]localhost、127.0.0.1和0.0.0.0和本机IP的区别

    一.IP地址是什么 首先,我们要知道网络中的相互访问其实就是在进行两者间的数据传递.就如同送快递一样,快递发出只有知道你的住址信息,才能将快递送到你的手中.而在网络访问时,只有知道你在网络中的地址信息 ...

  10. AHB总线协议(二)

    下图是8拍回环字突发传输:地址将在 32 字节边界处回环因此地址 0x3C 之后的地址是 0x20. 下图是8增量半字突发传输,所以地址每次增加 2 个字节并且突发在递增因此地址连续增加通过了 16 ...