javascript - 一个线性变量声明

标签 javascript ecmascript-5

声明全局变量很简单,只需将标识符放在等于和所需的值后面即可。您可以在任何地方执行此操作,例如为函数调用或在循环内设置参数时。但当我想要这个时 变量成为本地事物似乎受到更多限制。我无法在函数调用中声明局部变量,并且将 var x=i+3; 放入循环内只会一遍又一遍地重新声明该变量。文档中是否有我忽略的内容?或者事情就是这样?

...
obj.do_my_thing(cached_int = 4 + cars.amount(), true);
...

for( var e in list ) cached_float += cached_int/0.5;
console.log(cached_float);
...

我想要做的是:

...
obj.do_my_thing(var cached_int = 4 + cars.amount(), true);
...

for( var e in list ) var cached_float += cached_int/0.5;
console.log(cached_float);
...

最佳答案

I can't declare a local variable in a function call

如果您尝试通过对同一函数的两次调用来访问同一变量,则必须在外部作用域中声明该变量

例如

function foo() {
    var i = 0;
    function bar() {
        i++;
    }
    bar();
    alert(i);//1
    bar();
    alert(i);//2
}

关于javascript - 一个线性变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25424835/

相关文章:

javascript - 当数组元素中的逗号不会影响数组的长度时

javascript - setInterval、clearInterval、setTimeout 冲突导致幻灯片放映困惑

javascript - v8 是否能够根据 `const` 的值消除死代码?

javascript underscorejs 分组和求和数据

javascript - 使用 Object.create() 和使用赋值运算符有什么区别?

javascript - 为什么类中的私有(private)变量在转译代码中被视为公共(public)变量

javascript - 为什么 TS 提示函数体内的函数声明

javascript - <link> 元素的 'load' 事件未触发, 'onload' 也不可操作

javascript - 如何在图表中添加图例?

javascript - 有没有一种方法可以在没有 ES6 类和像 Babel 这样的预编译工具的情况下创建 React 组件?