ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
在一个连续的逻辑操作中,操作结果在最后一个操作完成之前就已经明确了的话,那么该操作往往就不必继续执行了,因为这不会对最终结果产生任何结果。 比如: ``` >>> true || false || true || false || true; true ``` 这种方式可以提高js的执行效率。 还比如: ``` >>> var b = 5; undefined >>> true || (b = 6); true >>> b; 5 >>> true && (b = 6); 6 >>> b; 6 ``` 发现了没,如果逻辑表达式中遇到了一个非布尔值类型的操作数,那么该操作数的值就会成为改表达式所返回的结果。 在实际环境中尽量不要这么写,不过在某种情况下,可以用这种方法来偷懒,比如说判断某个变量是否被定义了,如果没有被定义,那么初始化为10,如果已经被定义了那么保留原有值。 ``` >>> var mynumber = mynumber || 10; undefined ``` 这种做法简单优雅。 但是如果之前的值为0,那么这个代码会存在问题。