And*_*ndy 2 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"
Run Code Online (Sandbox Code Playgroud)
为什么name属性为空?
谢谢
因为name是函数对象的非标准,不可写 属性.函数的声明和命名的函数表达式被命名,当你有一个匿名函数表达式,其name是"".
你可能想要一个普通的对象:
var person = {
name: "John Smith",
age: 21,
profession: "Web Developer"
};
Run Code Online (Sandbox Code Playgroud)
name 是一个特殊属性,因为它在定义时给出了函数的名称:
function abc(){
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,name将返回字符串"abc".此名称无法更改.在您的情况下,该函数没有名称,因此为空字符串.