JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Javascript优化技巧之短路表达式详细介绍大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

什么是短路表达式?

短路表达式:作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。这是这两个操作符的一个重要属性。

一个最简单的例子

title"> 代码如下:

这行代码是什么意思?答案:

title"> 代码如下:

在javascript的逻辑运算中,0、""、null、false、undefined、NaN都会判定为false,而其他都为true。所以在上式的foo = foo||bar;中,||先计算第一个运算数,如果可以被转换成true,也就是表示foo已经存在有值,那么返回左边这个表达式的值,否则计算第二个运算数bar。

另外,即使||运算符的运算数不是布尔值,仍然可以将它看作布尔OR运算,因为无论它返回的值是什么类型,都可以被转换为布尔值。

当然,使用如下做法会更加严谨:

title"> 代码如下:
if(!!foo) //更为严谨,!!可将其他类型的值转换为Boolean类型

可以测试一下

title"> 代码如下:
number = 1; var String = "String"; var obj = {}; var arr = [];

console.log(typeof(foo)); // undefined
console.log(typeof(number));  //number
console.log(typeof(String));  //String
console.log(typeof(obj));  //object  
console.log(typeof(arr));  //object

console.log(typeof(!!foo)); // Boolean
console.log(typeof(!!number));  //Boolean
console.log(typeof(!!String));  //Boolean
console.log(typeof(!!obj));  //Boolean
console.log(typeof(!!arr));  //Boolean

利用这一点可以很好的符合,优化javascript工程一文中提到的,使脚本少运行或者不运行,以达到优化javascript的目的。但是需要注意的是,这样写帮我们精简了代码的同时,也带来了代码可读性的降低的缺点。所以比较好的做好是添加是适当的注释。

大佬总结

以上是大佬教程为你收集整理的Javascript优化技巧之短路表达式详细介绍全部内容,希望文章能够帮你解决Javascript优化技巧之短路表达式详细介绍所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: