国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《javascript高級(jí)程序設(shè)計(jì)》筆記:關(guān)系運(yùn)算符與相等運(yùn)算符

Blackjun / 898人閱讀

摘要:要比較相等性之前,不能將和轉(zhuǎn)換成其他任何值。如果有一個(gè)操作數(shù)是,則相等操作符返回,而不相等操作符返回。重要提示即使兩個(gè)操作數(shù)都是,相等操作符也返回因?yàn)榘凑找?guī)則,不等于。

關(guān)系運(yùn)算符

關(guān)系運(yùn)算符有小于(<)、大于(>)、小于等于(<=)和大于等于(>=)四種,它們都返回一個(gè)布爾值

《javascript高級(jí)程序設(shè)計(jì)》書中的規(guī)則是這樣描述運(yùn)算規(guī)則:

(1)如果兩個(gè)操作數(shù)都是數(shù)值,則執(zhí)行數(shù)值比較;
(2)如果兩個(gè)操作數(shù)都是字符串,則比較兩個(gè)字符串對應(yīng)的字符編碼值;
(3)如果一個(gè)操作數(shù)是數(shù)值,則將另一個(gè)操作數(shù)轉(zhuǎn)換為一個(gè)數(shù)值,然后執(zhí)行數(shù)值比較;
(4)如果一個(gè)操作數(shù)是對象,則調(diào)用這個(gè)對象的 valueOf()方法,用得到的結(jié)果按照前面> 的規(guī)則執(zhí)行比較,如果對象沒有 valueOf()方法,則調(diào)用 toString()方法,并用得到的結(jié)果根據(jù)前面的規(guī)則執(zhí)行比較;
(5)如果一個(gè)操作數(shù)是布爾值,則先將其轉(zhuǎn)換為數(shù)值,然后再執(zhí)行比較。

關(guān)系運(yùn)算圖譜:

==> 圖譜分析:
(1)undefined本質(zhì)是NaN,任何操作數(shù)與 NaN 進(jìn)行關(guān)系比較,結(jié)果都是 false
(2)null本質(zhì)是0,boolean本質(zhì)是0或1
(3)如果兩個(gè)操作數(shù)都是字符串,則比較兩個(gè)字符串對應(yīng)的字符編碼值(a-97,A-65, 0-48);
(4)object可能隱式轉(zhuǎn)換成numbe或者string,視情況而定

"Brick" < "alphabet"; // true
"23" < "3"; // true
"23" < 3; //false
"a" < 3; // false,因?yàn)?a"被轉(zhuǎn)換成了 NaN

undefined < 1; // false,因?yàn)閡ndefined會(huì)被轉(zhuǎn)換成NaN
undefined > 1; // false
null < 1; // true,因?yàn)閡ndefined會(huì)被轉(zhuǎn)換成0
相等操作符

相等操作符有兩組:相等和不相等—先轉(zhuǎn)換再比較,全等和不全等—僅比較而不轉(zhuǎn)換

== 和 != 兩個(gè)操作符都會(huì)先轉(zhuǎn)換操作數(shù)(通常稱為強(qiáng)制轉(zhuǎn)型),然后再比較它們的相等性

《javascript高級(jí)程序設(shè)計(jì)》書中的規(guī)則是這樣描述運(yùn)算規(guī)則:

(1)如果有一個(gè)操作數(shù)是布爾值,則在比較相等性之前先將其轉(zhuǎn)換為數(shù)值—false 轉(zhuǎn)換為 0,而true 轉(zhuǎn)換為 1;
(2)如果一個(gè)操作數(shù)是字符串,另一個(gè)操作數(shù)是數(shù)值,在比較相等性之前先將字符串轉(zhuǎn)換為數(shù)值;
(3)如果一個(gè)操作數(shù)是對象,另一個(gè)操作數(shù)不是,則調(diào)用對象的 valueOf()方法,用得到的基本類型值按照前面的規(guī)則進(jìn)行比較;

這兩個(gè)操作符在進(jìn)行比較時(shí)則要遵循下列規(guī)則。
(4)null 和 undefined 是相等的。
(5)要比較相等性之前,不能將 null 和 undefined 轉(zhuǎn)換成其他任何值。
(6)如果有一個(gè)操作數(shù)是 NaN,則相等操作符返回 false,而不相等操作符返回 true。重要提示:即使兩個(gè)操作數(shù)都是 NaN,相等操作符也返回 false;因?yàn)榘凑找?guī)則,NaN 不等于 NaN。
(7)如果兩個(gè)操作數(shù)都是對象,則比較它們是不是同一個(gè)對象。如果兩個(gè)操作數(shù)都指向同一個(gè)對象,則相等操作符返回 true;否則,返回 false。

相等運(yùn)算圖譜:

==> 圖譜分析:
(1)null 和 undefined 是相等且不能將 null 和 undefined 轉(zhuǎn)換成其他任何值
(2)對象是否相等由其指向決定
(3)boolean的本質(zhì)依然是0和1,字符串和數(shù)值的比較要轉(zhuǎn)成數(shù)值

null == undefined; // true
"NaN" == NaN; // false
5 == NaN; // false
NaN == NaN; // false
NaN != NaN; // true
false == 0; // true
true == 1; // true
true == 2; // false
undefined == 0; // false
null == 0; // false
"5" == 5; //true

=== 和 !== 兩個(gè)操作符不會(huì)進(jìn)行類型轉(zhuǎn)換直接比較相等性

建議:在知曉變量類型的情況下使用全等和不全等進(jìn)行判別

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/87143.html

相關(guān)文章

  • JavaScript高級(jí)程序設(shè)計(jì)筆記:基本概念

    摘要:一寫在前面最近重讀高級(jí)程序設(shè)計(jì),總結(jié)下來,查漏補(bǔ)缺。但這種影響是單向的修改命名參數(shù)不會(huì)改變中對應(yīng)的值。這是因?yàn)閷ο蟮拈L度是由傳入的參數(shù)個(gè)數(shù)決定的,不是由定義函數(shù)時(shí)的命名參數(shù)的個(gè)數(shù)決定的。實(shí)際改變會(huì)同步,改變也會(huì)同步 一、寫在前面 最近重讀《JavaScript高級(jí)程序設(shè)計(jì)》,總結(jié)下來,查漏補(bǔ)缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎(chǔ)的語言,由...

    ygyooo 評論0 收藏0
  • JavaScript高級(jí)程序設(shè)計(jì)》(第3版)讀書筆記 第3章

    摘要:本質(zhì)上是由一組無序名值對組成的。浮點(diǎn)數(shù)值的最高精度是位小數(shù),但在進(jìn)行計(jì)算時(shí)其精度遠(yuǎn)遠(yuǎn)不如證書。例如這是使用基于數(shù)值的浮點(diǎn)計(jì)算的通病,并非獨(dú)此一家數(shù)值范圍。 函數(shù)名不能使用關(guān)鍵字(typeof不行但typeOf可以,區(qū)分大小寫) 標(biāo)識(shí)符就是指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。 第一個(gè)字符必須是一個(gè)字母、下劃線(_)或者一個(gè)美元符號(hào)($) 其他字符可以是字母、下劃線、美元符號(hào)或...

    renweihub 評論0 收藏0
  • 讀書筆記(06) - 語法基礎(chǔ) - JavaScript高級(jí)程序設(shè)計(jì)

    摘要:寫在開頭本篇是小紅書筆記的第六篇,也許你會(huì)奇怪第六篇筆記才寫語法基礎(chǔ),筆者是不是穿越了。可移步筆者的文章中替換方式參考文檔高級(jí)程序設(shè)計(jì)作者以樂之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVblGMc?w=600&h=400); 寫在開頭 本篇是小紅書筆記的第六篇,也許你會(huì)奇怪第六篇筆記才寫語法基礎(chǔ),筆者是不是穿越了。...

    iOS122 評論0 收藏0
  • Effective JavaScript讀書筆記(一)

    摘要:如果為假值,不傳或者傳入,函數(shù)都會(huì)返回但是,傳入這個(gè)值是完全有可能的,所以這種判斷形勢是不正確的或者使用來判斷也可以原始類型優(yōu)于封裝類型對象擁有六個(gè)原始值基本類型布爾值,數(shù)字,字符串,,和對象。 作為一個(gè)前端新人,多讀書讀好書,夯實(shí)基礎(chǔ)是十分重要的,正如蓋樓房一樣,底層穩(wěn)固了,才能越壘越高。從開始學(xué)習(xí)到現(xiàn)在,基礎(chǔ)的讀了紅寶書《JavaScript高級(jí)程序設(shè)計(jì)》,犀牛書《JavaScri...

    zhoutao 評論0 收藏0
  • JavaScript高級(jí)程序設(shè)計(jì)筆記:基本概念(三)

    摘要:數(shù)據(jù)類型中有種簡單數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型和。因?yàn)樘厥庵当徽J(rèn)為是一個(gè)空的對象引用。盡管和有這樣的關(guān)系,但它們的用途完全不同。這樣做不僅可以體現(xiàn)作為空對象指針的慣例,而且也有助于進(jìn)一步區(qū)分和。 數(shù)據(jù)類型 ECMAScript中有5種簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):undefined,null,boolean,number和string。 typeof typeof null會(huì)返回o...

    jas0n 評論0 收藏0

發(fā)表評論

0條評論

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