我在构造函数的原型(prototype)中有一个函数:
function Animal(name) {
this.name = name
}
Animal.prototype.generateToys = function(numberOfToys) {
if(numberOfToys == 1) {
this.createToys();
}
else {
this.createToys();
}
}
createToys
仍然需要声明。这就是我的问题所指向的地方。假设 generateToys
将是唯一调用 createToys()
的方法,在方法 generateToys 中创建
像这样:createToys
会更好吗
function Animal(name) {
this.name = name
}
Animal.prototype.generateToys = function(numberOfToys) {
if(numberOfToys == 1) {
this.createToys();
}
else {
this.createToys();
}
function createToys() {
...
...
...
}
}
或者您会像下面这样将其创建为方法(原型(prototype)):
Animal.prototype.createToys = function() {
...
...
...
}
什么会更好,为什么? :)
最佳答案
如果将它放在 generateToys()
方法中,每次调用该方法时都会重新声明它,然后在该方法完成时将其从作用域中移除。大多数时候这不是您想要的,因此您更愿意将其创建为单独的方法。
关于JavaScript 最佳实践原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44163935/