我正在尝试用JavaScript学习类和设置器和getter ..但是我的代码无法运行..它提示未定义..这是我的代码
function Person () {
name:"something"
Person.prototype = {
get Name (){
return name;
},
set Name (val){
this.name = val;
}
};
};
var person = new Person();
alert(person.name);
答案 0 :(得分:1)
这是在示例中设置getter和setter的正确方法:
function Person () {
this.name = "something";
}
Person.prototype = {
get Name() {
return this.name;
},
set Name(val) {
this.name = val;
}
};
var person = new Person();
person.Name = 'example';
alert(person.name);
答案 1 :(得分:0)
JS基于原型,然后你可以定义属性:
function Person(){
this._name = '';
}
Object.defineProperty(Person.prototype, "name", {
get: function(){
return this._name;
},
set: function(value){
this._name= value;
},
enumerable:true,
configurable: true
});
然后你可以设置或获取属性" name"
var p = new Person()
p.name = 'Stackoverflow'
alert(p.name) // Stackoverflow
在ES6中,您可以使用关键字class
,例如:
class Person {
constructor() {
this.name = '';
}
}