我应该使用默认值初始化JavaScript中的变量吗?

时间:2018-05-22 10:23:42

标签: javascript angularjs performance variable-declaration variable-initialization

我有一个AngularJS控制器。我在顶部绑定变量时遵循John Papa指南。我的问题是:在声明变量时使用默认值初始化变量是否有任何性能提升,或者它会对性能产生负面影响?

function someCtrl($scope) {
    var vm = this;
    vm.someVar = '';    // Should it rather be vm.someVar; ?
}

我在AngularJS上下文中已经问过这个问题。但是,这是一个普遍的JavaScript问题。

更新:以下情况如何?

function someCtrl($scope) {
    var someVar = '';    // Should it rather be var someVar; ?
}

1 个答案:

答案 0 :(得分:1)

  

vm.someVar = ''; - 应该是vm.someVar;吗?

这既不是变量也不是声明。

这是一个在vm对象上创建属性的赋值。相比之下,vm.someVar;只是一个无操作(它什么都不做),应该完全放弃。

是的,如果您想创建需要的属性来初始化它们。您可以使用undefined初始化它们,但最好使用与以后相同类型的默认值初始化它们。是的,在构造函数中创建属性(在创建对象时)而不是在事实之后添加它们是一个好习惯。