Javascript:函数中的变量赋值

标签 javascript

考虑这两个 block :

block A

obj = {
    a: 1,
    b: 2,
    c: 3,
    f: function() {
        alert(this.a);
        alert(this.b);
        alert(this.c);
    }
}

区 block B

obj = {
    a: 1,
    b: 2,
    c: 3,
    f: function() {
        var a = this.a;
        var b = this.b;
        var c = this.c;
        alert(a);
        alert(b);
        alert(c);
    }
}

一种方法比另一种方法更正确/更有效吗?当然,这是一个浓缩示例 - 在我的代码中有更多变量,我想做的是通过重新分配变量来节省时间,而不是每次在函数中键入 this.varName对于当前函数的范围。它有效,但它是否正确?

编辑: 澄清一下,变量将在整个函数中广泛使用。普遍的共识似乎是,为此,通过本地范围重新分配是可行的方法。

最佳答案

视情况而定。如果您只打算使用该值一次,那么增加存储和检索该值的开销是没有意义的。另一方面,如果您在函数范围内多次引用该值,则只获取一次是有意义的。

关于Javascript:函数中的变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068601/

相关文章:

javascript - 如何制作类似于苹果Mac页面的页面预加载器

javascript - addEventListener 重定向到 url 末尾带有 '?' 的同一页面

javascript - 如何从ajax调用 Controller 并发送$_POST

javascript - 如何读取 cookie 创建日期(不是过期时间)

javascript - Closure Compiler externs - 引用复杂函数

javascript - 如何处理事件监听器和共享状态中的竞争条件?

javascript - 使用 JSON 新闻 api 创建搜索查询

javascript - 如何处理Node.js promise 链中的错误并解析 promise 数组

javascript - 调用 selectize() 后如何编辑 selectize 输入

javascript - Express.js POST 空 req.body