javascript true 答案為什麼會是true

時間 2021-05-08 00:33:42

1樓:17dian

1)! 的優先順序高於== ,右邊運算結果等於 false2)乙個引用型別和乙個值去比較把引用型別轉化成值型別,左邊03)所以 0 == false 答案是true如果問題是為什麼是true

2樓:

console.log

!比==先算,空陣列是乙個物件所以右邊的值變成了false== false;

當值型別的資料和引用型別的資料進行運算(算數運算,關係運算)的時候,會遵守如下的步驟。

1. 會呼叫引用型別資料的valueOf方法,獲取返回值,嘗試和值型別的資料進行運算, 如果可以計算,就得出結果

2. 如果不能計算,就繼續呼叫這個引用型別資料的toString方法,獲取返回值,進行計算!

.toString()

// ""

空字元和false比較,自然就返回了false

3樓:

這個跟 == 操作符的轉換過程有關,可以看看這個,寫的很好為什麼 == 為 false為 true,什麼是基本型別值和引用型別值

4樓:

請查閱ES5 文件。

物件與布林值比較,

== true // 物件與布林值比較

! == true //布林值與布林值比較物件與物件比較,他們非同個物件(引用不同)類似 [1] == [1] 的比較

比如下面的:

第乙個是字串與數值,第二個是兩個字串 ,他們進行比較轉義的過程是不一樣的,

5樓:Belleve

首先,== 的定義是:

GetValue 會獲取乙個子表示式的值(消除掉左值引用),在表示式中, 的結果就是乙個空陣列的引用,而 ! 就有意思了,它會按照 11.4.

9 和 9.2 節的要求得到 false。

比較的行為在 11.9.3 節裡,所以翻到 11.9.3:

在這段演算法裡,和匹配的是條件 7,所以會遞迴地呼叫「 == ToNumber(false)」進行比較。在 9.3 節中定義了 ToNumber 原語,ToNumber(false) 等於 0,於是比較變為「 == 0」。

在此處因為 是物件,比較過程走分支 9,依「ToPrimitive() == 0」比較。ToPrimitive 預設是呼叫 toString 方法的(依 8.2.

8),於是 ToPrimitice() 等於空字串。

結果的比較最後落到了 ''==false 上,按照 11.9.3 中的定義會依分支 5 比較 「ToNumber('')==0」,ToNumber('') 依 9.

3.1 等於 0,所以結果為 true。

6樓:

== !true // ! 操作符的優先順序高於 == ,所以先執行 ! 操作

== false // !true 得到的是 false

== 0 //比較規則1:如果值為true或false,則轉成1或0來繼續比較

== 0 //執行左側的 的 valueOf 方法,而 是物件,所以 .valueOf() 返回本身

"" == 0 //執行左側的 的 toString 方法,.toString() 返回 ""

0 == 0 //比較規則2:如果乙個值是數字,乙個值是字串,則把字串轉換為數字,再進行比較,"" 轉成數字是 0。

最終是執行 0 == 0 ,結果為 true 。

教資面試結構化答的不好,點答的不全,也沒答怎麼做,能過嗎?我好慌啊 具體情況如下,求求幫我分析能過嗎?

這片海面有點難 結構化想答好太難了。所以基本都回答的都不怎麼樣,反正我當時結構化支支吾吾半天,一道題就說了幾句話,最後也過了,關鍵看試講 高中語文教資面試 我的結構化直接答錯了一題,當時主考官還驚訝地看了我一眼,而且兩題回答的都比較簡要,最後也過。我覺得結構化不是重點,沒出現一些特別嚴重的錯誤的話,...

優答錦集

個人看法,這算是中國第一款成功的網路遊戲。當年瘋狂迷戀,直接導致對後面所有的公升級類網遊免疫。傳奇一共三個職業 武士,法師,道士。有很多技能樹。最高端的都是在35級可以練。分別是 烈火劍法,冰咆哮,召喚神獸 大狗 道士如果把大狗練到7級,基本可以幹倒弓箭手 簡直是無敵般的存在。當然,武士到了35,一...

俺答封貢中賞賜給俺答津貼是否屬於賠款?

山海經異獸圖 我倒是覺的俺答入寇,實際是明朝對蒙古的經濟戰爭,取得了輝煌勝利後。蒙古走投無路的最後一搏。最後的封貢也是蒙古發現武力也無法解決問題後,認輸投降成為順義王的結局。其實如果明朝不是天子守國門,把皇帝擺在北京。而是放在長安,或開封之類的城市。所謂的俺答入寇,在明朝政治上的影響就基本等於零。俺...