zoukankan      html  css  js  c++  java
  • jQuery的核心对象、原型对象、静态方法、动态方法

    什么叫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相当于实例对象,实例对象去调用方法。

  • 相关阅读:
    xml文件格式例如以下
    Nio学习3——基础模型:多路复用模型
    BP神经网络基本原理
    WPS2012交叉引用技巧,word比wps这点强更新參考文献
    hdu1023
    使用MERGE语句同步表
    商业软件编程非常无聊?
    jQuery Easy UI Panel(面板)组件
    很具体GC学习笔记
    cocos2dx-js学习笔记(一)环境搭建
  • 原文地址:https://www.cnblogs.com/wuqilang/p/11206630.html
Copyright © 2011-2022 走看看