对象创建JavaScript之间的区别

时间:2015-02-02 09:22:38

标签: javascript

这两个实例之间是否存在差异?如果它存在,有什么区别?

首先:

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();

1 个答案:

答案 0 :(得分:6)

使用new关键字时,构造函数函数默认会返回this

由于您的两个选项是“使用默认返回值”和“显式返回this”,因此两种方法之间没有区别。


习惯方法是没有明确的返回值,但也不是首先创建vm并直接引用this