javascript - 为什么我不能设置 JavaScript 函数的名称属性?

标签 javascript function javascript-objects

我正在学习 JavaScript 并读到函数就像对象并且可以设置如下属性:

var person = function(){
}
person.name="John Smith"; //output ""
person.age=21; //output 21
person.profession="Web Developer"; //output "Web Developer"

为什么 name 属性为空?

谢谢

最佳答案

因为 name是非标的,不可写 property of function objects .函数声明和 named function expressions被命名,而您有一个匿名函数表达式,其 name"" .

你可能想要一个普通的对象:

var person = {
    name: "John Smith",
    age: 21,
    profession: "Web Developer"
};

关于javascript - 为什么我不能设置 JavaScript 函数的名称属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904399/

相关文章:

javascript - 在 WooCommerce 的 jQuery 日期选择器问题中禁用工作日和假期

javascript - 如何为每个请求拦截并添加到 header auth_token?

javascript - 如何使用 JQuery 和 formData 正确获取表单数据

function - 为什么不能使用PowerShell在if语句中组合变量和函数?

javascript - 如何合并并获取两个对象与对象具有相同键的值之和

javascript - 通过 getter 和自定义 toString() 访问的对象属性的长度未定义

javascript - 如何限制用户在 Chrome 扩展选项中输入 float

c++ - 如何从不同的函数而不是 main() 开始执行 c/c++ 中的程序

c - 为什么这个循环每次循环打印相同的值?

javascript - 将变量内容分配给对象属性名称