0
让我介绍与短代码这个问题,我在这里:如何init()函数在这种情况下工作
function SomeObject() {
// Personaly I call this part initialization...
this.anything = "anything";
// ... but here somebody call function init...
this.init();
}
// ... which is declared there...
SomeObject.prototype.init = function() {
// ... and contains more initialization.
}
现在问题来了: 这是否执行初始化函数的有什么好处?
我看到的唯一好处是,您可以稍后使用init
函数并重新初始化其某些属性和其他内容。但是在我的代码中,没有这样做的意义。更重要的是,如果我这样做,它会打破很多东西。 从那时起,我不知道是否有此实现旁任何区别:
function SomeObject() {
init.call(this);
}
function init() {
}
而且我不知道任何振振有辞为什么要构造分成多个部分。所以我认为(有这种感觉),我真的不得不错过一些重要的好处或自然。
我可以封装SomeObject和init与IIF。然后很容易认识到这些属于一起。那么你认为应该避免使用通话吗?或者你的回答意味着它并不重要,应该逐案解决。 –
如果'init'仅从构造函数中调用,并且没有其他函数附加到原型,则无关紧要。如果您还有其他功能附加到原型上,那么添加这个功能可以更容易地识别代码的结构。这就是说,我不会推荐在JavaScript中过度使用OOP:它往往是冗长的。 –