首页 > 解决方案 > 我应该用默认值初始化 JavaScript 中的变量吗?

问题描述

我有一个 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; ?
}

标签: javascriptangularjsperformancevariable-declarationvariable-initialization

解决方案


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

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

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

是的,如果你想创建属性,你需要初始化它们。您可以使用 初始化它们undefined,但最好使用它们稍后将具有的相同类型的默认值来初始化它们。是的,在构造函数中创建属性(在创建对象时)而不是事后添加它们是一种很好的做法。


推荐阅读