js顯示強制型別轉換

2021-09-16 13:30:39 字數 2046 閱讀 4551

其他型別值轉化為字串型別的值通常使用string()或者tostring()方法

基本型別的字串轉化規則為:null轉化為"null",undefined轉化為"undefined",true轉化為"true",數字遵循通用規則。注意除了null和undefined的任何值都具有tostring方法。

number類定義的tostring()方法可以接受表示轉換基數的可選引數,如果不指定此引數,轉換規則將是基於十進進製。同樣,也可以將數字轉換為其他進製數,如:

var num = 20;

console.log(num.tostring(2)) //轉換結果"10100"

console.log(num.tostring(8)) //轉換結果"24"

console.log(num.tostring(16))//轉換結果"14"

js中物件到字串的轉換經過了如下步驟:

如果物件具有tostring()方法,則呼叫這個方法。如果它返回乙個基本型別值,js將這個值轉換為字串,並返回這個字串。

如果物件沒有tostring()方法,或者這個方法返回的不是乙個基本型別值,那麼js將呼叫valueof()方法。如果存在這個方法,則呼叫,如果返回值是基本型別值,轉換為字串並返回

否則,js無法從tostring()或valueof()獲得乙個基本型別值,此時將會丟擲型別錯誤異常

例如:

console.log([1].tostring()) //轉換結果"1"

console.log(().tostring()) //轉換結果[object object]

console.log(().valueof()) //轉換結果""

其他型別值轉化為字串型別的值通常使用number()、parseint()、parsefloat方法

基本型別的數字轉化規則為:null轉化為0,undefined轉化為nan,true轉化為1,fale轉化0,字串遵循通用規則,處理失敗時返回nan。

通過number()傳入乙個字元,它會試圖將其轉換為乙個整數或者浮點數的直接量,這個方法只能基於十進位制進行轉換,並且不能出現非法的尾隨字元。

parseint()函式和parsefloat()函式更加靈活,parseint()只解析整數,可以傳遞第二個引數作為轉換基數,parsefloat()可以解析整數和浮點數,parseint()和parsefloat()都會跳過前導空格,盡可能解析更多數值字元,並忽略後面內容。

如果第乙個非空格字元是非法的數字直接量,將返回nan,例如:

console.log(parseint('11',2)) //轉換結果3

console.log(parsefloat('0.1')) //轉換結果0.1

console.log(parseint('a12')) //轉換結果nan

console.log(parsefloat(' 4.2aa')) //轉換結果4.2

js物件轉數字的過程和物件轉字串過程類似,只是它會首先嘗試使用valueof()方法:

如果物件具有valueof()方法,後者返回乙個基本型別值,則js將這個基本型別值轉換為數字並返回

否則,如果物件具有tostring()方法,後者返回乙個基本型別值,則js將這個基本型別值轉換為數字並返回

否則,將丟擲型別錯誤異常

例如:

console.log(number()) //轉換結果0

console.log(.valueof()) //轉換結果

console.log(.tostring()) //轉換結果""

假值列表:undefined、null、false、+0、-0、nan、""

假值列表以為的值都是真值。例如:

var a = ;

var b = {};

var c = function () {};

console.log(boolean( a && b && c)) //true

以上內容是個人的一點總結,如果有錯誤或不嚴謹的地方,歡迎批評指正,如果喜歡,歡迎點讚收藏

JS 型別轉換 強制型別轉換

js 型別轉換 強制型別轉換 一 parseint 將其他型別轉換成number型別的整數 注意 string number 1 字串中值的首字元必須是數字,轉換後才能得到具體的值 否則得到nan 2 只轉換從首字元開始的連續數字 如 2b345 轉換後只得到2 3 除了string,其他型別轉換後...

js強制型別轉換

值型別轉換 包括兩種 顯式轉換和隱式轉換。將值從一種型別轉換為另外一種型別稱為型別轉換,也叫做顯式型別轉換,隱式的情況也叫做強制型別轉換。在js中兩種轉換被統稱為強制型別轉換。其實,對於顯式和隱式沒有很明確的界定,如果你不知道某種情況是一種顯式型別轉換,那麼它對於你來講就是隱式的。抽象值操作 顯示強...

JS 強制型別轉換

number string var number 8 var str string number console.log typeof str 複製 boolean string var boolean true var str string boolean console.log typeof s...