<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
JavaScript中有三個邏輯運運算元,&&與、||或、!非,雖然他們被稱為邏輯運運算元,但這些運運算元卻可以被應用於任意型別的值而不僅僅是布林值,他們的結果也同樣可以是任意型別。
如果一個值可以被轉換為true,那麼這個值就是所謂的truthy,如果可以被轉換為false,那麼這個值就是所謂的falsy。會被轉換為false的表示式有: null、NaN、0、空字串、undefined。
儘管&&和||運運算元能夠使用非布林值的運算元,但它們依然可以被看作是布林操作符,因為它們的返回值總是能夠被轉換為布林值,如果要顯式地將它們的返回值或者表示式轉換為布林值,可以使用雙重非運運算元即!!或者Boolean建構函式。
首先說一下,其他資料型別轉換為布林型別的規則: null、undefined、0、NaN、空字串轉換為false,其他轉化為 true。
首先把資料轉化為布林值,然後取反,結果為 true 或 false。
<script type="text/javascript"> var a = [1,2,3]; var b = "hello"; var obj = new Object(); var d; console.log(!""); //true console.log(!d); //true console.log(!a); //false console.log(!b); //false console.log(!obj); //false </script>
JavaScript 中邏輯與和其他語言不太一樣,如果第一個運算元是 true(或者能夠轉為 true),計算結果就是第二個運算元,如果第一個運算元是 false,結果就是 false(短路計算),對於一些特殊數值不遵循以上規則。(個人理解為:如果運算的第一個運算元為true,則返回第二個運算元,反之則返回第一個運算元)
<script type="text/javascript"> var a = [1,2,3]; var b = "hello"; var obj = new Object(); var d; console.log(true && 10); //第一個運算元是true,結果是第二個操作,也就是10 console.log(false && b); //第一個運算元是false,結果flase console.log(100 && false); //第一個運算元是100,結果flase console.log(undefined && false); //第一個運算元是undefined,結果undefined console.log(NaN && false); //第一個運算元是NaN,結果NaN console.log(null && false); //第一個運算元是null,結果null console.log('' && false); //第一個運算元是空串,結果空串 console.log(0 && 100); //結果是0 console.log(5 && 100); //100 console.log(a && b); //hello console.log(obj && 200); //200 </script>
如果第一個運算元不是 false,結果就是第一個運算元,否則結果是第二個運算元。如果第一個運算元能夠轉為 true,結果就是第一個運算元(個人理解為:如果運算的第一個運算元為 true,則返回第一個運算元,反之則返回第二個運算元)
<script type="text/javascript"> var a = [1,2,3]; var b = "hello"; var obj = new Object(); var d; console.log(true || 10); //第一個運算元是true,結果是第一個操作,也就是true console.log(false || b); //第一個運算元是false,結果是第二個運算元b console.log(100 || false); //第一個運算元是100,結果100 console.log(undefined || 9); //第一個運算元是undefined轉false,結果9 console.log(NaN || false); //第一個運算元是NaN轉false,結果第二個運算元 console.log(null || a); //第一個運算元是null轉false,結果a console.log('' || false); //第一個運算元是空串轉false,結果第二運算元 console.log(0 || 100); //結果是100 console.log(5 || 100); //5 console.log(a || b); //a console.log(obj || 200); //obj </script>
到此這篇關於JS中邏輯運運算元特點的文章就介紹到這了,更多相關JS邏輯運運算元特點內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45