位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 轉換為簡單值

提問人:劉團圓發(fā)布時間:2020-11-23

■知識點

    在邏輯運算環(huán)境中,所有復合型數(shù)據(jù)對象轉換為布爾值的都為true。

    在數(shù)值運算環(huán)境中,對象會嘗試調用valueOf()方法,如果不成功,再調用toStringO方法,獲取一個值,然后嘗試把該值轉換為數(shù)字。如果轉換成功,則取用該值參與運算;如果轉換失敗,則取用NaN參與運算。

    在字符串運算環(huán)境中,對象會調用toStringO方法獲取對象的字符串表示,以此作為轉換的值。

    數(shù)組轉換為簡單值時,會調用toStringO方法獲取一個字符串表示,然后根據(jù)具體的運算環(huán)境,再把該字符串轉換為對應類型的簡單值。

S 如果為空數(shù)組,則轉換為空字符串。

S 如果僅包含一個元素,則取該元素值。

S 如果包含多個元素,則轉換為多個元素的值組合的字符串,并以逗號分隔。

函數(shù)轉換為簡單值時,會調用toStringO方法獲取字符串表示。對于普通函數(shù),則返回的是函數(shù)代碼本身,然后根據(jù)不同運算環(huán)境,再把該字符串表示轉換為對應類型的值。

■實例設計

【示例】下面的代碼創(chuàng)建3個不同類型的對象,然后參與邏輯與運算,因為不管其值是什么,凡是對象轉換為布爾值的都為true,所以才會看到不同的顯示結果。

var b = mew Boolean(false);               //包裝false為對象

var n = new Number(0);                    //包裝數(shù)字0為對象

var s = new String("");                      //包裝空字符串對象

b && console.log(b);                      //如果b為true,則顯示"false"

n && console.log(n);                      //如果n為true,則顯示"0"

s && console.log(s);                      //如果s為true,則顯示""

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部