似乎函数缺少其他对象属性上的[[Value]]属性:
function a() {
console.log('Hello World');
}
var descriptor = Object.getOwnPropertyDescriptor(window, 'a');
// descriptor contains:
Object {writable: true, enumerable: true, configurable: false}
与:相比:
var person = {
age: 1
};
var descriptor2 = Object.getOwnPropertyDescriptor(person, 'age');
// descriptor2 contains:
Object {value: 1, writable: true, enumerable: true, configurable: true}
为什么没有大多数常规对象属性的[[Value]]属性?我希望它包含实际的函数体代码,但看起来它不存在于函数中?