我对 JavaScript 中的原型(prototype)设计和构造函数很陌生。我看到有人这样声明构造函数:
var Person = (function(){
function Person(name, age){
this.name = name;
this.age = age;
}
Person.prototype.setName = function(name){ this.name = name; }
Person.prototype.setAge = function(age){ this.age = age }
return Person;
}());
这是正确的做法吗?
最佳答案
是的,这是正确的形式,但不是唯一的形式。这相当于:
function Person(name, age){
this.name = name;
this.age = age;
}
Person.prototype.setName = function(name){ this.name = name; }
Person.prototype.setAge = function(age){ this.age = age }
您提供的代码将类声明包装在一个命名空间中,这是一种很好的做法。
关于javascript - 声明构造函数的优点/缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23456598/