gpt4 book ai didi

javascript - 为什么函数没有 [[Value]] 属性?

转载 作者:行者123 更新时间:2023-11-28 15:06:15 25 4
gpt4 key购买 nike

函数似乎缺少其他对象属性上存在的 [[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]] 属性?我希望它包含实际的函数体代码,但它看起来对于函数来说从来不存在?

最佳答案

属性的值是函数还是数字对于描述符/属性来说并不重要。并且描述符确实有一个 value 属性: enter image description here

控制台的工作方式尚未标准化,因此显示或不显示某些内容的原因取决于实现。

不要盲目相信控制台,用代码验证你的假设。

关于javascript - 为什么函数没有 [[Value]] 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38779936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com