代碼示例 發生了什么事情 原型鏈規則 規則1 每個對象都有一個“__proto__”屬性,這個屬性對外不可見,只有javascript解釋器知道,在google瀏覽器中可以看到這個屬性。 規則2 “取值操作”CustomObject.XXXProperty的規則 ...
代碼示例 執行結果 發生了什么事情 很多人都可能知道上例的執行結果,但是不是所有人都明白為什么會是這樣的結果,包括我自己。 名詞解釋 活動對象:一次函數調用開始的時候,javascript解釋器會收集函數體中的所有局部變量 以var形式聲明的變量 ,將這些局部變量存儲到一個稱為 活動對象 的對象里,所有變量都初始為undefined。代碼示例 當執行這個函數時候時 fun ,函數體還沒執行到,當前 ...
2013-04-22 06:33 13 1763 推薦指數:
代碼示例 發生了什么事情 原型鏈規則 規則1 每個對象都有一個“__proto__”屬性,這個屬性對外不可見,只有javascript解釋器知道,在google瀏覽器中可以看到這個屬性。 規則2 “取值操作”CustomObject.XXXProperty的規則 ...
很多人都知道this指針,這篇文章的主要目的是為了培訓我們公司的新人。 默認的this指針指向 規則1 this指針默認指向方法調用時為其指定的對象,如:obj.fun(),fun方法體中的this指針指向obj。 規則2 如果在方法調用時沒有為方法指定對象 ...
之前寫過一篇JavaScript 閉包究竟是什么的文章理解閉包,覺得寫得很清晰,可以簡單理解閉包產生原因,但看評論都在說了解了作用域鏈和活動對象才能真正理解閉包,起初不以為然,后來在跟公司同事交流的時候發現作用域和執行環境確實很重要,又很基礎,對理解JavaScript閉包很有幫助,所以在寫一篇 ...
作用域鏈 作用域 首先我們需要了解的是作用域做什么的?當JavaScript引擎在某一作用域中遇見變量和函數的時候,需要能夠明確變量和函數所對應的值是什么,所以就需要作用域來對變量和函數進行查找,並且還需要確定當前代碼是否對該變量具有訪問權限。也就是說作用域主要有以下的任務: 收集 ...
代碼示例 執行結果 發生了什么事情 執行規則 規則1 事件驅動的單線程模型,所有javascript的代碼都在一個線程中執行,javascript線程從事件隊列中一次取出一個事件進行執行。 規則2 宿主中除了javascript線程外,還有定時器線程 ...
1.什么是作用域(scope)? 簡單來講,作用域(scope)就是變量訪問規則的有效范圍。 作用域外,無法引用作用域內的變量; 離開作用域后,作用域的變量的內存空間會被清除,比如執行完函數或者關閉瀏覽器 作用域與執行上下文是完全不同的兩個概念。我曾經也混淆過他們,但是一定要仔細 ...
的局部作用域的形成有且只有函數的花括號內定義的代碼塊形成的,既函數作用域。 什么是作用域鏈? ...
上一篇文章中介紹了Execution Context中的三個重要部分:VO/AO,scope chain和this,並詳細的介紹了VO/AO在JavaScript代碼執行中的表現。 本文就看看Execution Context中的scope chain。 作用域 開始介紹作用域鏈之前,先看 ...