Angular - 我应该使用局部变量还是this.variable

时间:2016-09-09 09:44:21

标签: javascript angularjs

我一直在寻找这个,但找不到我想要的简单问题。问题非常简单:在角度js中,我应该使用局部变量还是属性(如果我不需要使用它)。

示例:

// I need "this" here because I need this collection in template
this.collection = SomeService.fetchCollection();

// I can use either "foo" or "this.foo" here, which one is better?
this.fetchSomeData = function(type) {
    var foo = AnotherService.foo(type);
    return FooService.call(foo);
}

3 个答案:

答案 0 :(得分:1)

因为你没有将'foo'声明为var,所以这里是全局的,这很糟糕。你应该至少在它前面加上'var',这样它的作用域就是函数而不是全局的;它不应该在函数之外可用。

答案 1 :(得分:0)

一个局部变量,因此可以在方法退出时立即清除。否则它将在父命名空间中保持未使用状态。

但是99%的案例没有现实世界的影响,所以它并不重要。

答案 2 :(得分:0)

在我看来,不要透露所有内容并保持封装是一个好习惯 - 例如,它避免移动逻辑来查看哪个是坏的

另外,请考虑您对for变量进行i循环迭代 - 您是否也会将this.i用于此目的?