如果我使用{}创建一个对象,然后尝试引用一个属性,我该怎么做?
function Person(){
this.name : "test";
}
var x = new Person();
alert(x.name);
Run Code Online (Sandbox Code Playgroud)
您的语法已关闭,在您的情况下,您只需执行此操作:
function Person(){
this.name = "test";
// ^--- =, not :
}
var x = new Person();
alert(x.name);
Run Code Online (Sandbox Code Playgroud)
如果你真的想使用对象文字语法,你可以,但最好在构造函数中避免它(这是你在代码中所拥有的).这工作,例如,但不一样的你原来的代码:
var Person = {
name: "test"
};
alert(Person.name);
Run Code Online (Sandbox Code Playgroud)
你甚至可以用这种方式定义函数(和人们一样):
var Person = {
name: "test",
speak: function() {
alert(this.name);
}
};
Person.speak(); // alerts "test"
Run Code Online (Sandbox Code Playgroud)
...虽然我不喜欢这样做,因为我更喜欢命名函数(该函数是匿名的).