JavaScript筆記

JavaScript作用域

  1. 隱式全局變量:聲明的變量沒有var,就叫做隱式全局變量
  2. 全局變量是不能被delete刪除的,隱式全局變量是可以被刪除的
  3. 除了函數以外,其他任何地方創建的變量都是全局變量
  4. 全局變量:如果頁面不關閉,那麼就不會釋放,就會佔空間,消耗內存

預解析

預解析:提前解析代碼

  1. 把變量的聲明提前了----提前到當前所在的作用域的最上面 賦值不會提前
  2. 函數的聲明也會提前-----也會提前到當前作用域的最上面

對象之原型

每一個JavaScript對象(除null外),都和另一個對象相關聯,“另一個”對象就是我們熟知的原型,每一個對象都從原型繼承屬性。

所有通過對象直接量創建的對象都具有一個原型對象,並可以通過JavaScript代碼Object.prototype獲得對原型對象的引用。通過關鍵字new和構造函數調用創建的對象的原型就是構造函數的prototype屬性的值。

對象(JavaScript權威指南)

三類內置對象、兩類屬性

  • 內置對象(native object)是由ECMAScript規範定義的對象或類。例如,數組、函數、日期和正則表達式都是內置對象

  • 宿主對象(host object)是由JavaScript解釋器所嵌入的宿主環境(比如web瀏覽器)定義的。客戶端JavaScript中標識網頁結構的HTMLElement對象均是宿主對象。既然宿主環境定義的方法可以當做普通的JavaScript函數對象,那麼宿主對象也可以當成內置對象

  • 自定義對象(user-defined object)

  • 自有屬性(own property)是直接在對象中定義的屬性

  • 繼承屬性(inherited property)是在對象的原型對象中定義的屬性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章