【小打小闹】 js 操作符 小发现
每篇推荐:
js网站分享:Badass JavaScript --收集js相关资源,包括库,新鲜资讯等
正文:
首先,俺js水平有限,可能你已经知道了这个用法,可不要喷我。
我们都知道,在if条件语句中 如果不加大括号,只对第一条语句有效,如果你需要添加多条,那么需要加上大括号。
那如果我嫌加得麻烦,可以使用js操作符。这点在使用调试时,尤其方便。
原始代码:
if(1){
console.log('already existed');
console.log('new added');//for debug
}
使用操作符:
if(1) console.log('already existed') | console.log('new added');
可以任意加:console.log('already existed') | console.log('new added') | console.log('new added 1') | ...; 下面列举出 起作用的操作符:
+ - / * | & % ^ > < >> << >>> >= <= == ===
可以看到, && 和 || 这2个逻辑操作符不包括进来,不过并不代表他们不起作用,只是在某些情况,他们不会得到预期结果。这是因为 && 本身运算规则的特点 。
所以,在使用 && 时,只有所有操作数在返回值为true值(包括执行类型转换后的true值)时,才起作用; 在使用 || 时,如果其中一个操作数返回true值,得到的结果也不是预期的。
针对 && 测试代码如下:
function test(){ return 'abc';//返回值为string } if(1){ console.log('before') && test(); test() && console.log('after'); } output: before after
function test(){ //返回值为undefined } if(1){ console.log('before') && test(); test() && console.log('after'); } //output : before
为了可读性,推荐使用 + | & 这3个操作符,不过,随你。
性能如何:
另外,针对其中一些运算符,有性能测试 ,点击这里查看。
参考资料: