對象字面量和函數(shù)定義的區(qū)別
使用對象字面量定義函數(shù)如var obj = {x:1}; 打印原型是obj.__proto__ .而用函數(shù)定義 function foo(){};打印原型為什么是foo.prototype.__proto__??????不明白啊,難道obj直接是某一個對象的prototype么??這兩種定義對象的區(qū)別是什么?
使用對象字面量定義函數(shù)如var obj = {x:1}; 打印原型是obj.__proto__ .而用函數(shù)定義 function foo(){};打印原型為什么是foo.prototype.__proto__??????不明白啊,難道obj直接是某一個對象的prototype么??這兩種定義對象的區(qū)別是什么?
2016-10-15
舉報
2016-10-17
對象字面量定義的對象指向的就是Object,所以直接使用__proto__就可以從Object.prototype上獲取。而函數(shù)定義的是返回function,function需要在Object的原型鏈上查找