摘要:一般存在四種情況,會(huì)對(duì)變量的數(shù)據(jù)類(lèi)型進(jìn)行轉(zhuǎn)換。但在語(yǔ)句中,則轉(zhuǎn)為。
目錄一般存在四種情況,JavaScript會(huì)對(duì)變量的數(shù)據(jù)類(lèi)型進(jìn)行轉(zhuǎn)換。
* if中的條件會(huì)被自動(dòng)轉(zhuǎn)為Boolean類(lèi)型 * 會(huì)被轉(zhuǎn)為false的數(shù)據(jù) * 會(huì)被轉(zhuǎn)為true的數(shù)據(jù) * 參與+運(yùn)算都會(huì)被隱式的轉(zhuǎn)為字符串 * 會(huì)被轉(zhuǎn)為空字符串的數(shù)據(jù) * 會(huì)被轉(zhuǎn)為字符串的數(shù)據(jù) * 會(huì)被轉(zhuǎn)為數(shù)據(jù)類(lèi)型標(biāo)記的數(shù)據(jù) * 參與*運(yùn)算都會(huì)被隱式的轉(zhuǎn)為數(shù)字 * 會(huì)被轉(zhuǎn)為0的數(shù)據(jù) * 會(huì)被轉(zhuǎn)為1的數(shù)據(jù) * 會(huì)被轉(zhuǎn)為NaN的數(shù)據(jù) * == 運(yùn)算符 * 為true的時(shí)候 * 為false的時(shí)候if中的條件會(huì)被自動(dòng)轉(zhuǎn)為Boolean類(lèi)型 會(huì)被轉(zhuǎn)為false的數(shù)據(jù)
if(false) console.log(2333) if("") console.log(2333) if(null) console.log(2333) if(undefined) console.log(2333) if(NaN) console.log(2333)會(huì)被轉(zhuǎn)為true的數(shù)據(jù)
if(true) console.log(2333) // 2333 if("test") console.log(2333) // 2333 if([]) console.log(2333) // 2333 if({}) console.log(2333) // 2333參與+運(yùn)算都會(huì)被隱式的轉(zhuǎn)為字符串 會(huì)被轉(zhuǎn)為空字符串的數(shù)據(jù)
"str-" + "" // str- "str-" + []會(huì)被轉(zhuǎn)為字符串的數(shù)據(jù)
"str-" + "1" // "str-1" "str-" + 1 // "str-1" "str-" + false // "str-false" "str-" + true // "str-true" "str-" + null // "str-null" "str-" + undefined // "str-undefined" "str-" + NaN // "str-NaN"會(huì)被轉(zhuǎn)為數(shù)據(jù)類(lèi)型標(biāo)記的數(shù)據(jù)
"str-" + {} // "str-[object Object]" "str-" + {a:1} // "str-[object Object]"參與*運(yùn)算都會(huì)被隱式的轉(zhuǎn)為數(shù)字 會(huì)被轉(zhuǎn)為0的數(shù)據(jù)
2 * "" // 0 2 * [] // 0 2 * false // 0會(huì)被轉(zhuǎn)為1的數(shù)據(jù)
2 * "1" // 2 2 * [1] // 2 2 * true // 2會(huì)被轉(zhuǎn)為NaN的數(shù)據(jù)
2 * {} // NaN 2 * {a:1} // NaN== 運(yùn)算符 為true的時(shí)候
0 == false // true 0 == "" // true 0 == "0" // true 0 == [] // true 0 == [0] // true 1 == true // true 1 == "1" // true 1 == [1] // true [1] == true // true [] == false // true為false的時(shí)候
0 == {} // false 0 == null // false 0 == undefined // false 0 == NaN // false 1 == {} // false 1 == null // false 1 == undefined // false 1 == NaN // false [] == [] // false [1] == [1] // false [1] == {} // false [1] == {a:1} // false [1] == false // false [1] == null // false [1] == undefined // false [1] == NaN // false {} == {} // false {a:1} == {a:1} // false
注:空數(shù)組[],在+運(yùn)算符下是轉(zhuǎn)為空字符串"",在*運(yùn)算符下是轉(zhuǎn)為數(shù)字0。但在if語(yǔ)句中,則轉(zhuǎn)為true。
歡迎關(guān)注前端進(jìn)階指南微信公眾號(hào):
另外我也創(chuàng)了一個(gè)對(duì)應(yīng)的QQ群:660112451,歡迎一起交流。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85088.html
摘要:綁定書(shū)中提到在中,實(shí)際上并不存在所謂的構(gòu)造函數(shù),只有對(duì)于函數(shù)的構(gòu)造調(diào)用。規(guī)則使用構(gòu)造調(diào)用的時(shí)候,會(huì)自動(dòng)綁定在期間創(chuàng)建的對(duì)象上。指向新創(chuàng)建的對(duì)象綁定比隱式綁定優(yōu)先級(jí)高。 showImg(http://ww1.sinaimg.cn/large/005Y4rCogy1fstcwvzkjzj30sg0g0qqn.jpg); 前言 最近正在看《你不知道的JavaScript》,里面關(guān)于this綁...
摘要:不允許隱式轉(zhuǎn)換的是強(qiáng)類(lèi)型,允許隱式轉(zhuǎn)換的是弱類(lèi)型。拿一段代碼舉例在使用調(diào)用函數(shù)的時(shí)候會(huì)先生成一個(gè)類(lèi)模板運(yùn)行時(shí)生成,執(zhí)行的時(shí)候會(huì)生成類(lèi)模板,執(zhí)行的時(shí)候會(huì)生成類(lèi)模板。 0 x 01 引言 今天和一個(gè)朋友討論 C++ 是強(qiáng)類(lèi)型還是弱類(lèi)型的時(shí)候,他告訴我 C++ 是強(qiáng)類(lèi)型的,他和我說(shuō)因?yàn)?C++ 在寫(xiě)的時(shí)候需要 int,float 等等關(guān)鍵字去定義變量,因此 C++ 是強(qiáng)類(lèi)型的,我告訴他 C+...
摘要:設(shè)計(jì)模式是以面向?qū)ο缶幊虨榛A(chǔ)的,的面向?qū)ο缶幊毯蛡鹘y(tǒng)的的面向?qū)ο缶幊逃行┎顒e,這讓我一開(kāi)始接觸的時(shí)候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續(xù)了解設(shè)計(jì)模式必須要先搞懂面向?qū)ο缶幊蹋駝t只會(huì)讓你自己更痛苦。 JavaScript 中的構(gòu)造函數(shù) 學(xué)習(xí)總結(jié)。知識(shí)只有分享才有存在的意義。 是時(shí)候替換你的 for 循環(huán)大法了~ 《小分享》JavaScript中數(shù)組的那些迭代方法~ ...
摘要:綁定最后要講的一種綁定規(guī)則,是指通過(guò)操作符調(diào)用構(gòu)造函數(shù)時(shí)發(fā)生的綁定。因此,所謂的綁定是指通過(guò)操作符來(lái)調(diào)用函數(shù)時(shí),會(huì)產(chǎn)生一個(gè)新對(duì)象,并且會(huì)把構(gòu)造函數(shù)內(nèi)的綁定到這個(gè)對(duì)象上。事實(shí)上,在中,使用來(lái)調(diào)用函數(shù),會(huì)自動(dòng)執(zhí)行下面的操作。 轉(zhuǎn)載請(qǐng)注明出處 https://segmentfault.com/a/11... this 可以說(shuō)是 javascript 中最耐人尋味的一個(gè)特性,就像高中英語(yǔ)里各種...
摘要:真正的理解閉包的原理與使用更加透徹綁定的四種規(guī)則機(jī)制你不知道的人稱(chēng)小黃書(shū),第一次看到這本書(shū)名就想到了一句話(huà)你懂得,翻閱后感覺(jué)到很驚艷,分析的很透徹,學(xué)習(xí)起來(lái)也很快,塊級(jí)作用域語(yǔ)句語(yǔ)句相當(dāng)于比較麻煩而且用在對(duì)象上創(chuàng)建的塊作用域僅僅在聲明中有效 真正的理解閉包的原理與使用 更加透徹this綁定的四種規(guī)則機(jī)制 你不知道的JavaScript 人稱(chēng)小黃書(shū),第一次看到這本書(shū)名 就想到了一句話(huà)...
閱讀 433·2019-08-29 12:44
閱讀 3011·2019-08-26 17:49
閱讀 2432·2019-08-26 13:40
閱讀 1185·2019-08-26 13:39
閱讀 3663·2019-08-26 11:59
閱讀 1826·2019-08-26 10:59
閱讀 2465·2019-08-23 18:33
閱讀 2697·2019-08-23 18:30