在javascript中简洁的链接赋值运算符是否安全? (取消变量)

时间:2013-08-22 02:04:52

标签: javascript

如果我想简洁地删除一些变量:

var a = 'testa';
var b = 'testb';
var c = 'testc';

使用:

a = b = c = null;

安全吗?

编辑删除了多余的var关键字

2 个答案:

答案 0 :(得分:5)

var a = b = c = null;评估为var a = (b = (c = null));,因为JavaScript执行从右到左评估。由于未定义cbcb将成为全局变量,而a是本地变量,因为a定义为{{ 1}}。

这样做更安全

var

答案 1 :(得分:-1)

It's not safe, it's... very dangerous, be careful.

我是从命令行尝试过的:

var f = function() { var a = b = c = null; }
f()
console.log(c)
console.log(b)
console.log(a)

得到了这个

  


  空
  ReferenceError:a未定义

所以bc全球变量! var被忽略了! EEK!