我和一位同事一直在争论这个话题大约一个星期.我非常喜欢速记代码,使用三元等,无论我在哪里.最近,他一直在挑剔我使用双重感叹词.在经过多次测试后,我开始同意他的观点……在我的代码中使用双重感叹词可能并不明智.考虑一下:
var myvar = "Hello"; return (!!myvar ? "Var is set" : "Var is not set");
上面的示例按预期工作.但是,如果我们检查可能返回undefined的变量,我们会收到错误,尤其是在IE7中.但是,如果我们在控制台中运行它,我们会得到预期的结果:
if(randomvar) alert('Works');