91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery構造函數分析

發布時間:2020-06-03 04:56:29 來源:網絡 閱讀:348 作者:yang_34 欄目:web開發

  jquery是面向對象的寫法也有構造函數,每次調用jquery方法是就會實例化一個jqeury對象,但是jQuery的寫法卻非常高明值得我們學習。

  js雖然不是面向對象的語言,卻又很多面向對象的寫法,這里推薦大家看一下圖靈的《javascript高級程序設計》中的面向對象的程序設計部分。在眾多方法中比較常見的寫法是構造加原型方式,下面舉例:

var Person=function(name,age){
   this.name=name;
   this.age=age;
}
Person.prototype={
  constructor:Person,
  init:function(msg){
    this.say(msg);
  },
  say:function(msg){
  alert(this.name+'說'+msg);
  }
};
var tom=new Person('tom',23); 
tom.init('你好');// tom說你好

那再來看看jQuery的構造函數吧

// Define a local copy of jQuery
var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},

可以看到在jQuery真正的函數是init方法,當我們調用jquery時會new init() 而不是 new jQuery() .

jQuery.fn是啥呢,在后面我們會看到這樣一句代碼
jQuery.fn = jQuery.prototype = {...

這樣就很好理解了,其實jQuery.fn就是原型對象也就是說在jQuery原型里面有一個init方法,這個方法是真正的構造函數。這樣寫的好處就是不需要在寫$().init()這樣的操作,直接就初始化了,但是還有一個問題就是既然init才是構造函數那我們寫在jQuery上面的那么方法實例不是不能調用嗎?init的實例化自然只能調用init的方法啦,往后看到這樣一句代碼

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;

之前講過jQuery.fn=jQuery.protype,這就意味著jQuery的原型對象賦給了init的原型,這樣jQuery的原型方法自然init也就都有了,通過這樣構造方式S使得使用jQuery方法非常簡單既不需要new jQuery()的操作也不需要手動初始化就行調用普通函數一樣簡單。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

日照市| 台州市| 马山县| 平遥县| 手游| 安乡县| 阿巴嘎旗| 永年县| 通江县| 石景山区| 邹城市| 千阳县| 阿拉善左旗| 沙田区| 鸡西市| 利川市| 云南省| 黄陵县| 肥乡县| 浑源县| 葵青区| 札达县| 新龙县| 毕节市| 名山县| 阜宁县| 屏东市| 铜川市| 昌宁县| 赣榆县| 西乌| 余江县| 怀仁县| 荆门市| 垣曲县| 简阳市| 运城市| 洞口县| 伊宁市| 松滋市| 凤翔县|