如果我想简洁地删除一些变量:
var a = 'testa';
var b = 'testb';
var c = 'testc';
使用:
a = b = c = null;
安全吗?
编辑删除了多余的var
关键字
答案 0 :(得分:5)
var a = b = c = null;
评估为var a = (b = (c = null));
,因为JavaScript执行从右到左评估。由于未定义c
和b
,c
和b
将成为全局变量,而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未定义
所以b
和c
是全球变量! var
被忽略了! EEK!