說明: 該教程繞開了javascript的一些基本的語法知識,直接講解javascript中最難理解的兩個部分,也是和其他主流面向對象語言區別最大的兩個部分——原型和閉包,當然,肯定少不了原型鏈和作用域鏈。幫你揭開javascript最神秘的面紗。 為什么要偏偏要講這兩個知識點 ...
從下面目錄中可以看到,本系列有 篇文章,外加兩篇后補的,一共 篇文章。寫了半個月,從 月 號開始寫的。每篇文章更新時,讀者的反饋還是可以的,雖然不至於上頭條,但是也算是中規中矩,有看的人,也有評論的人。特別是在后期講閉包的時候。 我從來都不做基礎入門教程,因為基礎入門的教程,要想講的和別人不一樣很難。所以,基礎入門的教程網上有的是,大家隨便搜索就是了,再大不了就花錢買本書看看。而想原型和閉包這類 ...
2014-09-30 08:05 73 100450 推薦指數:
說明: 該教程繞開了javascript的一些基本的語法知識,直接講解javascript中最難理解的兩個部分,也是和其他主流面向對象語言區別最大的兩個部分——原型和閉包,當然,肯定少不了原型鏈和作用域鏈。幫你揭開javascript最神秘的面紗。 為什么要偏偏要講這兩個知識點 ...
又介紹一個老朋友——instanceof。 對於值類型,你可以通過typeof判斷,string/number/boolean都很清楚,但是typeof在判斷到引用類型的時候,返回值只有object ...
接着上一節講的話,應該輪到“執行上下文棧”了,但是這里不得不插入一節,把this說一下。因為this很重要,js的面試題如果不出幾個與this有關的,那出題者都不合格。 其實,this的取值, ...
為何用“繼承”為標題,而不用“原型鏈”? 原型鏈如果解釋清楚了很容易理解,不會與常用的java/C#產生混淆。而“繼承”確實常用面向對象語言中最基本的概念,但是java中的繼承與javascript中的繼承又完全是兩回事兒。因此,這里把“繼承”着重拿出來,就為了體現 ...
前面提到的上下文環境和作用域的知識,除了了解這些知識之外,還是理解閉包的基礎。 至於“閉包”這個詞的概念的文字描述,確實不好解釋,我看過很多遍,但是現在還是記不住。 但是你只需要知道應用的兩種情況即可——函數作為返回值,函數作為參數傳遞。 第一,函數作為返回值 如上代碼,bar函數 ...
注意:本文不是javascript基礎教程,如果你沒有接觸過原型的基本知識,應該先去了解一下,推薦看《javascript高級程序設計(第三版)》第6章:面向對象的程序設計。 上節已經提到,每個函數function都有一個prototype,即原型。這里再加一句話——每個對象都有一個 ...
既typeof之后的另一位老朋友! prototype也是我們的老朋友,即使不了解的人,也應該都聽過它的大名。如果它還是您的新朋友,我估計您也是javascript的新朋友。 在咱們的第一節(深入理解javascript原型和閉包(1)——一切都是對象)中說道,函數也是一種對象。他也是 ...
在Java和C#中,你可以簡單的理解class是一個模子,對象就是被這個模子壓出來的一批一批月餅(中秋節剛過完)。壓個啥樣,就得是個啥樣,不能隨便動,動一動就壞了。 而在javascript中,就沒有模子了,月餅被換成了面團,你可以捏成自己想要的樣子。 首先,對象屬性可以隨時改動 ...