如果我想简洁地取消一些变量:
var a = 'testa';
var b = 'testb';
var c = 'testc';
和:
a = b = c = null;
安全吗?
EDIT删除了多余的var关键字
如果我想简洁地取消一些变量:
var a = 'testa';
var b = 'testb';
var c = 'testc';
和:
a = b = c = null;
安全吗?
EDIT删除了多余的var关键字
var a = b = c = null;被评估为var a = (b = (c = null));因为 JavaScript进行从右到左的评估。由于c和b没有定义,c并且b将成为全局变量,a而是局部的,因为a是用 定义的var。
所以这样做更安全
var a, b, c;
a = b = c = null;
我从命令行尝试了这个:
var f = function() { var a = b = c = null; }
f()
console.log(c)
console.log(b)
console.log(a)
得到了这个
null
null
ReferenceError: a 未定义
全局变量b也是如此!被忽略了!哎呀!cvar