堆 heap 實值型別
原始類型(primitive type)
Undefined: undefined (注意大小寫:類型/ 值,下同)
Null: null (Undefined derived from Null)
Boolen: true/false
Number: Number.MAX_VALUE / Number.MIN_VALUE/ NaN ; isNaN()函數 (注意:新版本有變化,待查)
String:
類型轉換:
Boolen()/Number()/String() **指類型名
toString(): toString(2/8/16)
intParse()/floatParse():
棧 stack 參考型別
預定義
Object:
Boolen:
Number: toFixed()
String: (略)
instanceof()
運算子
delete
void <a href="javascript:void(window.open('about:blank'))">Click me</a>
標籤 label:
對象:
對象是名值對(屬性和方法)的無序(區別於數組)集合
建立: new 和{ }
擴充: 向對象增加新屬性(意味著在運行時修改執行個體!) 運算子:“.”或者“[]”
constructor:可以判斷類型,不過和typeof不同,返回的是一個對象
prototype:對象的結構
屬性:(變數)
範圍
var: 局部變數,即該變數範圍為最內層的函數體內
方法:(函數)
JavaScript支援首類(First-Class)函數,即將函數處理為對象。所以可以被:賦值給變數(=)、儲存為數組元素、當做傳回值等。
this:
簡單記憶:
全域函數(頁面中簡單聲明的函數):window
DOM事件處理常式(處理DOM事件的函數):與該事件關聯的DOM元素(注意事件冒泡)
建構函式:該執行個體本身
理解:
通常情況下,this總是指向調用該函數的對象(所謂的“運行時確定”)
特例:apply()和call(),this指向以上兩函數的參數對象
閉包:
表現形式:
定義在一個函數內部的函數
功能:
能夠讀取其他函數內部變數
將函數內部和函數外部串連起來
讓這些變數的值始終保持在記憶體中
數組:
一個有序的(區別於對象)值集合,這些值可以是不同的類型
建立:new Array() 或 []