这两个实例之间是否存在差异?如果它存在,有什么区别?
首先:
function MyClass() {
var vm = this;
vm.initialise = function () { console.log('initialised'); }
return vm; //<-- here
}
第二
function MyClass() {
var vm = this;
vm.initialise = function () { console.log('initialised'); }
//<-- here
}
用法:
var newClass = new MyClass();
答案 0 :(得分:6)
使用new
关键字时,构造函数函数默认会返回this
。
由于您的两个选项是“使用默认返回值”和“显式返回this
”,因此两种方法之间没有区别。
习惯方法是没有明确的返回值,但也不是首先创建vm
并直接引用this
。