亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

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

問題解答

回答1:

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

js是動態語言,它有隱私轉換的特性,就是在該需要用到某種數據類型的時候,它會通過預先的規則來將傳進來的值轉換成特定的類型。

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

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

回答2:

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

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

回答3:

javascript是弱類型的語言,會自動轉的~

回答4:

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

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

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 美女综合网 | 永久福利盒子日韩日韩免费看 | 国产视频第一页 | 首页亚洲国产丝袜长腿综合 | 久久久精品2018免费观看 | 国产三级电影网址 | 青草香蕉视频 | 国产成人精品日本亚洲网址 | 91精品成人免费国产片 | 小泽玛利亚一区二区在线看 | 日韩美aaa特级毛片 日韩美a一级毛片 | 日韩在线观看网址 | 精品国产免费观看一区 | 国产v综合v亚洲欧美大片 | 国产孕妇孕交600集 国产在视频线精品视频www666 | www视频在线免费观看 | 国产在线观看美女福利精 | 亚洲成人黄色在线 | 日韩一级a毛片欧美区 | 久久国产精品-久久精品 | 国产精品亚洲第一区广西莫菁 | 丁香六月激情婷婷 | 黄色影视大全 | 久久精品中文字幕久久 | 免费看爱爱视频 | 成人精品一区二区三区 | 美女免费视频网站 | 国产精品99r8免费视频2022 | 麻豆传媒在线完整视频 | 亚洲精品久久久久久下一站 | 成年女人视频播放免费观看 | 国产欧美日韩视频 | 国产欧美在线观看视频 | 亚洲 日本 欧美 中文幕 | 亚洲国产一区二区三区最新 | 亚洲性69影院在线观看 | 国产亚洲精品第一区在线观看 | 国内精品免费视频 | 色综合久久98天天综合 | 久久国产一区二区三区 | 国产大学生自拍视频 |