我有一個關於JavaScript函數的問題。我讀函數作爲對象,我們可以在函數中添加屬性和方法,但是當我註銷添加屬性的函數時,我注意到一些奇怪的行爲。這是我用對象和函數拍攝的一個小例子。作爲對象的JavaScript函數
//Object Example
var obj = {
firstName: 'John',
lastName: 'Doe',
};
obj.address = '111 Main St. New York, NY';
console.log(obj); // Object {firstName: "John", lastName: "Doe", address: "111 Main St. New York, NY"}
//Function Example
function myFunction() {
console.log('Hello World');
}
myFunction.greet = 'Hello JavaScript!';
console.log(myFunction); // function myFunction() { console.log('Hello World');}
正如預期的「迎接」屬性已添加到myFunction的,但是當我退出myFunction的我不的見的財產打印出來。爲什麼?該物業已添加到哪裏?而當我使用點運算符訪問屬性時,我看到註銷的結果。
有人可以解釋屬性已添加的位置以及存儲位置嗎?
該屬性在那裏,你只是不能用'console.log'來看它。不同的瀏覽器會顯示不同的東西。 – 4castle