js类为什么经常有一个init方法?

看到国外的一个插件,js类里面经常是除了构造函数,再加一个init函数,其他方法都写在原型里面了,想知道这个init的作用,最好举例说明一下

function TestFn(){
    // do something
}
TestFn.init = function(){
    // do something
}
TestFn.prototype.otherfn = function(){
    // do something
}
阅读 19.3k
4 个回答

额,确定是这样写的TestFn.init = function(){}?我一般看到的都是这么写的:

TestFn.prototype._init = function() {}

其实没有别的,就是一个编程的习惯,把初始化工作放在一块,阅读起来更清楚

Vue里头

Vue.prototype._init = function (options) {
    options = options || {}

    this.$el = null
    this.$parent = options.parent
    // ...
}

IScroll里头

IScroll.prototype = {
    version: '5.1.3',

    _init: function () {
        this._initEvents();
    }

    // ...
}

就是为了初始化 你也可以另外取一个名字 render,还有一个就是继承的时候 可以调用父元素的init初始化操作

编码习惯, 也降低的代码耦合性

编码习惯。
来自百度翻译。
init
英 [ɪ'nɪt] 美 [ɪ'nɪt]
abbr.
initiation 开始;  initio (Latin=at the beginning) (拉丁语)开始;  initial 最初的;  initially 最初
网络
启动;  初始;  重启

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题