jquery類的建立方式及關鍵字new的原理

2022-08-10 03:24:10 字數 919 閱讀 6502

在用jquery選擇器時候,可以通過下面兩種方式獲取元素,並得到乙個jquery物件。

var d1 = jquery('#demo01');

var d2 = new jquery('#demo02');

上面兩種方式操作結果一致,這讓我很好奇,自己模擬了乙個類似的實現。

(function

(global, undefined)

/**other code

**/}

global.jquery =jquery;

})(window);

但是我發現這種方式好像也不雜滴,就跑去看了一下jquery原始碼的實現。

至於new的工作原理,也很簡單:

function

createobject(constructor) , //

第一步,建立乙個初始化物件。

params = .slice.call(arguments,1) || ; //

分離出引數

第二步,切換作用域,讓建構函式中的this指向當前物件o,然後執行建構函式函式。

if(typeof tmp != 'object')

o.__proto__ = constructor.prototype; //

第三步,設定原型鏈

o.constructor = constructor; //

第四步,設定構造器

return

o;}

這次文章比較水,知識點比較簡單,但就這麼簡單的問題,我之前還沒弄明白,的確慚愧。知識重在積累,我必須得不斷學習。

Python 類 類的建立及操作

1,類的建立 class person object init函式是乙個建構函式,在建立例項過程中自動執行,為例項的初始化工作。name為init函式的區域性變數,self.name是例項的屬性,二者看似相同,實則區別很大。通過self.name name的方式,我們可以把name屬性賦值給self...

10 ExtJs 類的宣告 物件建立及關鍵字

在extjs中,關於類的宣告和物件的建立 js中類的宣告其實就是乙個function 第一種 function user var u new user alert u.getemail 第二種 var person alert person.name person.age ext中類的宣告 ext....

String類物件的兩種建立方式及不同

第一種方式是直接賦值,像如下 public class home 但這種建立方式有乙個特點就是賦的字串被存放到了堆中的乙個叫常量池的地方,它特殊就特殊在,當jvm建立字串物件前,會先去常量池中找有沒有乙個字串內容與當前字串相同。如果有,直接將已有的位址賦值給變數 如果沒有,建立新的字串,也就是說上面...