我正在学习javascript,在构造函数中没有var声明,只是get和set方法。谁能告诉我为什么?我认为应该有像var name这样的声明;在构造函数中?
<script>
function Person(name){
this.getName=function(){
return name;
};
this.setName=function(value){
name=value;
};
}
</script>
为什么不放
var name
在构造函数中?
答案 0 :(得分:1)
因为函数参数已经在范围内而您不想通过undefined
覆盖参数?
请参阅What is the scope of variables in JavaScript?了解有关范围的更多信息
答案 1 :(得分:1)
function Person(name){
this.getName=function(){
return name;
};
this.setName=function(value){
name=value;
};
}
因为name已经成为Person函数的范围,因为它是Person的参数
你不需要(并且不应该)写var name
。
答案 2 :(得分:0)
setName方法。 e.g:
function Person(name){
this.getName=function(){
return name;
};
this.setName=function(value){
name=value;
};
}
var tom = new Person("tom");
var harry = new Person("harry");
所以如果你想让汤姆有新名字你必须打电话
tom.setName("Dick");
在此之后
tom.getName();
将返回&#34; Dick&#34;。
祝你好运。