jquery原始碼筆記2 初始化函式

2021-07-24 05:20:14 字數 1370 閱讀 4805

for in的時候,它會把物件的屬性(包括原型的屬性)遍歷一遍,例如:

有這麼一段**:

var

array = ;

array.push(1);

array.push(2);

array.push(3);

for(var i in array)

此時會輸出什麼呢?當然是0:1 1:2 2:3

但是如果在for in之前加上array.prototype.say = 「hello」;

再次執行會輸出什麼呢?

0:1 1:2 2:3 say:hello

看到了吧,這個時候,它會輸出原型的屬性

在很多時候,我們不需要遍歷它原型的屬性,還有乙個原因就是,我們現在用到的物件,我們不能保證,其他開發人員,有沒有,在它的原型上加一些屬性呢?所以呢,我們就過濾一下我們物件的屬性吧,這個時候就用到了hasownproperty方法,如下:

for(var i in

array)

}

原始碼中的這樣寫的:

jquery = function

( selector, context ) ,

第一眼看到這個東西我是懵逼的……..

第二眼看到這個東西我還是懵逼的……..

不行,我得先簡化一下 這個東西…..

var jquery = function

()jquery.prototype = ;

age : function

(){};

}var jq = new jquery();

jq.name();

我們都知道在jquery中是這麼寫的

jquery.name();
我們可以想象jquery應該返回的是乙個例項物件

如果這樣寫的話,好理解點

var jquery = function

()jquery.prototype = ;

age : function

(){};

}var init = function

()init.prototype = jquery.prototype;

jquery原始碼中是這樣寫的

var jquery = function

( selector, context )

jquery.fn = jquery.prototype =

}jquery.fn.init.prototype = jquery.fn;

wtf!!!

jQuery原始碼學習2 初始化篇

這一篇主要總結一下jquery這個js在引入的時候做的一些初始化工作 第一句window.undefined window.undefined 是為了相容低版本的ie而寫的 因為在低版本的ie中undefined不是window物件下的屬性 因此window.undefined就是undefined...

Tomcat原始碼之 初始化

1.首先設定catalina 的路徑和初始化classloader 2.利用反射模式啟動catalila catalila.load 的時候 初始化相應的容器 img catalila.start 啟動的時候,把相應的容器同事啟動 按從大到小依次啟動 先啟動server,在service,然後eng...

SpringIOC 初始化原始碼解析

springioc容器的關鍵兩個主要的容器系列 寫了段簡單的 ioc容器的具體的過程都在這一句話上 後台很硬的 下面咱們就來看看ioc的後台是多麼的硬,加了斷點除錯了下,跳進去的第一步是 public throws bean ception 上面 的refresh 是ioc容器啟動的入口,後邊會牽扯...