久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

node.js - JavaScript的一個不能理解的地方

瀏覽:97日期:2023-09-19 16:47:39

問題描述

最近在學(xué)JavaScript(NodeJs)在用for遍歷一個JsonArray的時候發(fā)現(xiàn)了一個問題我當(dāng)時是這樣子寫的:node.js - JavaScript的一個不能理解的地方按道理來說這樣寫應(yīng)該是錯的,應(yīng)該要判斷是不是為Null,但是我運行了一下,居然成功了,沒有報錯,輸出也正常黑人問號臉...求告知這是什么原理...難道obj2=obj1.result[i]會返回一個boolean??之前學(xué)過JAVA,感覺JavaScript相對JAVA有點不嚴(yán)謹(jǐn),思想有點被禁錮...

問題解答

回答1:

賦值表達(dá)式會返回所賦的值。也就是說obj2=obj1.result[i]會返回obj1.result[i]。

js是動態(tài)語言,它有隱私轉(zhuǎn)換的特性,就是在該需要用到某種數(shù)據(jù)類型的時候,它會通過預(yù)先的規(guī)則來將傳進(jìn)來的值轉(zhuǎn)換成特定的類型。

那么在剛剛賦值表達(dá)式obj2=obj1.result[i]中返回值是obj1.result[i],那js引擎就會對obj1.result[i]進(jìn)行類型轉(zhuǎn)換成Boolean類型。

如果你obj1.result[i]的值是除NaN,0,undefined,null,’’之外的其他值,都會轉(zhuǎn)換成true,否則則是false。

回答2:

賦值運算符的返回結(jié)果就是這個被賦值的值,這個在各大類 C 的語言里,包括 Java 都是這樣定義的,不足為奇。

Java 里條件判斷只能用布爾值,而 JavaScript 不一樣,這里需要一個布爾值你給的如果不是一個布爾值就會隱式轉(zhuǎn)換成布爾值。

回答3:

javascript是弱類型的語言,會自動轉(zhuǎn)的~

回答4:

一個等于號 是賦值的意思,等于你把obj1.result[i]賦給obj2了,所以一直成立

你可以去搜一下 = == ===的區(qū)別 看看題就懂了

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 色综合中文 | 国产精品毛片久久久久久久 | 久久99精品久久久 | 亚洲欧美aa| 久久久国产精品 | 国产精产国品一二三产区视频 | 三区中文字幕 | 国产精品一区二区三区免费 | 九九久久久 | 在线观看av不卡 | 亚洲成人av电影 | 超碰成人在线免费 | 日本高清视频网站www | 午夜色播 | 中文字幕 视频一区 | 百性阁综合另类 | 亚洲精品一区久久久久久 | 亚洲成人中文字幕 | 99免费观看 | 久精品在线 | 91在线观看网站 | 成人免费淫片aa视频免费 | 日本一区二区高清视频 | 国产中文字幕一区 | 欧美一级视频免费 | 国产一级大片 | 黄色一级片在线观看 | 欧美精品免费在线观看 | 成人免费在线观看视频 | 亚洲热妇| 国产在线色| 亚洲精品国产成人 | 九九热免费精品视频 | 伊人yinren22综合开心 | 久久久国产一区二区三区四区小说 | 日本黄色片免费看 | 国产一级毛片在线视频 | 欧美不卡一区二区 | 欧美福利网 | 97精品超碰一区二区三区 | 欧美a在线 |