成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript 操作符(二)

lemanli / 486人閱讀

摘要:布爾操作符邏輯非將操作數(shù)任何數(shù)據(jù)類型轉(zhuǎn)換為一個(gè)布爾值,并求反。除和以外的任何類型,此操作都會(huì)返回任何非空的類型,此操作都會(huì)返回連續(xù)使用兩個(gè)可達(dá)到函數(shù)同樣的效果。

布爾操作符 邏輯非(!

將操作數(shù)(任何數(shù)據(jù)類型)轉(zhuǎn)換為一個(gè)布爾值,并求反。

!null; // true
!undefined; // true
!true; // false
!false; // true
!0; // true
!NaN; // true
!1; // false  除 0 和 NaN 以外的任何 Number 類型,此操作都會(huì)返回 false
!""; // true
!"s"; // false 任何非空的String類型,此操作都會(huì)返回false
!Symbol(); // false

連續(xù)使用兩個(gè) ! 可達(dá)到 Boolean() 函數(shù)同樣的效果。

!!null; // false
// ...
邏輯與(&&

屬于短路操作,當(dāng)?shù)谝粋€(gè)操作數(shù)求值結(jié)果為false(如果不為Boolean類型則存在一個(gè)隱形轉(zhuǎn)換),則不會(huì)再對(duì)第二個(gè)操作數(shù)求值,并返回第一個(gè)操作數(shù);只有當(dāng)?shù)谝粋€(gè)操作數(shù)位 true 才會(huì)返回第二個(gè)操作數(shù)(不論第二個(gè)操作數(shù)是 true 還是 false)。

const b1 = true;
const result1 = (b1 && undefined_variable); // ReferenceError
console.log(result1);

const b2 = false; // 如果是非 Boolean 類型則會(huì)自動(dòng)轉(zhuǎn)為 Boolean 類型
const result2 = (b2 && undefined_variable); 
console.log(result2); // false

b1 && console.log("只有第一個(gè)操作數(shù)為真,我才會(huì)出現(xiàn)在控制臺(tái)")
b2 && console.log("只有第一個(gè)操作數(shù)為真,我才會(huì)出現(xiàn)在控制臺(tái)")
邏輯或(||

同樣屬于短路操作,當(dāng)?shù)谝粋€(gè)操作數(shù)求值結(jié)果為 true (如果不為Boolean類型則存在一個(gè)隱形轉(zhuǎn)換),則不會(huì)對(duì)第二個(gè)操作數(shù)求值,并返回第一個(gè)操作數(shù);只有當(dāng)?shù)谝粋€(gè)操作數(shù)為 false 才會(huì)返回第二個(gè)操作數(shù)(不論第二個(gè)操作數(shù)是 true 還是 false)。

const b1 = true;
const result1 = (b1 || undefined_variable); 
console.log(result1); // false

const b2 = false;
const result2 = (b2 || undefined_variable); // ReferenceError
console.log(result2);

b1 || console.log("你在控制臺(tái)看不到我")
b2 || console.log("我會(huì)出現(xiàn)在控制臺(tái)!因?yàn)閎2 === false")
加性操作符 加法

Number類型:

任何數(shù)加NaN,結(jié)果都是NaN

Infinity + Infinity = Infinity

Infinity - Infinity = NaN

-Infinity - Infinity = -Infinity

0 + 0 = 0

0 - 0 = 0

-0 - 0 = -0

操作數(shù)中包含 String 類型,則將非 String 類型轉(zhuǎn)為 String 類型并拼接。

Object、Boolean類型,則調(diào)用它們的toString()方法獲得字符串值。默認(rèn)情況下 Object 類型返回 "[object Object]",Boolean類型 true 返回 "true"、false 返回 "false"

Undefined類型或Null類型: 調(diào)用 String() 取得字符串 "undefined""null"

const s1 = "" + "s"; 
const s2 = "str" + { name: "Ashin" }; 
const s3 = "str" + true;
const s4 = "str" + null;
const s5 = "str" + undefined;

console.log(s1); // "s"
console.log(s2); // "str[object Object]"
console.log(s3); // "strtrue"
console.log(s4); // "strnull"
console.log(s5); // "strundefined"
減法 乘性操作符 乘法 除法 求模 關(guān)系操作符 相等操作符 相等和不相等 全等和不全等

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105750.html

相關(guān)文章

  • 細(xì)說(shuō) Javascript 類型篇() : typeof 作符

    摘要:操作符還有可能是設(shè)計(jì)中最大缺陷,因?yàn)樗鼛缀跏峭耆茡p的。由于用法與調(diào)用函數(shù)的語(yǔ)法相似,因此常被誤以為是函數(shù)調(diào)用,實(shí)際上并不存在名為的函數(shù),只是一個(gè)操作符而已。而列則表示對(duì)象內(nèi)部的屬性。屬性文檔中明確地給出了獲得屬性的途徑,就是使用。 typeof 操作符(還有 instanceof)可能是 Javascript 設(shè)計(jì)中最大缺陷,因?yàn)樗鼛缀跏峭耆茡p的。由于 typeof 用法與調(diào)用函數(shù)...

    PAMPANG 評(píng)論0 收藏0
  • 重新鞏固JS()——JavaScript作符與表達(dá)式

    摘要:重新鞏固系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第二篇。關(guān)系運(yùn)算符用于比較操作符左右的操作數(shù)的大小。邏輯運(yùn)算符主要通過(guò)與或非來(lái)判斷一個(gè)表達(dá)式的值是否為。注意與和或操作具有短路計(jì)算效果。重新鞏固JS系列,都是比較基礎(chǔ)的東西,可以進(jìn)行查漏補(bǔ)缺,很快看完,這是第二篇。 其他JS重新鞏固系列: 重新鞏固JS(一)——JavaScript基本類型 重新鞏固JS(三)——JavaSc...

    DoINsiSt 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)》讀書(shū)筆記(

    摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...

    caspar 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)》讀書(shū)筆記(

    摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...

    xingpingz 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)》讀書(shū)筆記(

    摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...

    Aceyclee 評(píng)論0 收藏0
  • 【連載】前端個(gè)人文章整理-從基礎(chǔ)到入門

    摘要:個(gè)人前端文章整理從最開(kāi)始萌生寫(xiě)文章的想法,到著手開(kāi)始寫(xiě),再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫(xiě)好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開(kāi)始萌生寫(xiě)文章的想法,到著手...

    madthumb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<