JavaScript筆記集

Java和Javascript都是面向對象語用,即一切都是對象,但不一樣的是,在Java的世界裏,對象是由類(Class)實例出來的;而在JavaScript的世界中,對象是由類型(Type)衍生出來的。函數


JavaScript是一種prototype based programming語言,與一般的class based programming語言有很大的區別。
1.函數是first class object,即函數與對象具備相同的語言地位。
2.沒有類,只有對象。
3.函數也是一種對象,所謂的函數對象。
4.對像是按「引用」來傳遞的。spa


「prototype」字面意識是「原型」,它是函數(function)的一個保留屬性,該屬性的類型是對象。不信?敲段代碼便知道。prototype

function fn(){};
console.log(typeof fn.prototype); //--> object

既然prototype是對象,那麼這個對象有什麼內容呢?敲敲便知道code

console.log(fn.prototype);

結果:構造函數和__prototype__
圖片描述
那麼,__proto__又是什麼?展開便知道:原來是各類默認方法。
圖片描述對象

相關文章
相關標籤/搜索