基于原型繼承,動態(tài)對象擴展,閉包,JavaScript已經(jīng)成為當今世界上最靈活和富有表現(xiàn)力的編程語言之一。
這里有一個很重要的概念需要特別指出:在JavaScript中,包括所有的函數(shù),數(shù)組,鍵值對和數(shù)據(jù)結(jié)構(gòu)都是對象。 舉個簡單的例子:
var testFunc = function testFunc() {};testFunc.customP = "James";console.log(testFunc.customP);
上邊的代碼中,testFunc可以添加customP這個屬性,說明testFunc本身就是一個對象。在JavaScript中,函數(shù)名是一個指向函數(shù)對象的指針,我們看下邊的代碼:
var testFunc = function testFunc() { console.log("Hello world");};var anotherTestFunc = testFunc;testFunc = null;anotherTestFunc();
即使把testFunc置為空,上邊的程序仍然打印了
網(wǎng)友評論