我有一个关于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');}
不出所料,'greet'属性已添加到myFunction中,但是当我注销myFunction时,看不到该属性已打印出来。为什么?在哪里添加了财产?而当我使用点运算符访问属性时,会看到结果注销。
有人可以解释该属性的添加位置和存储位置吗?
您可以使用Object.keys
函数获得自己的属性。
function myFunction () {
console.log('Hello World');
}
myFunction.greet = 'Hello JavaScript!';
console.log(Object.keys(myFunction));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句