您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)javascript實(shí)現(xiàn)值類型轉(zhuǎn)換的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
JavaScript是松散類型的語言,大多數(shù)情況下,運(yùn)算符和函數(shù)會(huì)自動(dòng)將值轉(zhuǎn)換為正確的類型(隱式轉(zhuǎn)換);但也有一些情況需要顯式的進(jìn)行類型轉(zhuǎn)換。
隱式轉(zhuǎn)換
JavaScript中有各種運(yùn)算符和函數(shù),它們自動(dòng)將值轉(zhuǎn)換為正確的類型,如JavaScript中的alert()函數(shù)接受任何值并將其轉(zhuǎn)換為字符串。但是各種運(yùn)算符會(huì)產(chǎn)生類似'+'運(yùn)算符的問題。
例:
輸入: “2”+“3”
輸出: “23”
在這種情況下,這里的“+”運(yùn)算符代表字符串連接。
但是,輸入“3” - “1”就會(huì)通過使用“隱式轉(zhuǎn)換”就會(huì)給出輸出結(jié)果:2。
下面我們來看看隱式轉(zhuǎn)換的簡單代碼示例:
代碼1:此代碼顯示JavaScript中的隱式類型轉(zhuǎn)換。
<script> document.write('("3" - "1") = ' + ("3" - "1") + "<br>"); document.write('("3" - 1) = ' + ("3" - 1) + "<br>"); document.write('("3" * "2") = ' + ("3" * "2") + "<br>"); document.write('("3" % "2") = ' + ("3" % "2") + "<br>"); document.write('("3" + null) = ' + ("3" + null) + "<br>"); </script>
運(yùn)行后,輸出:
顯式轉(zhuǎn)換
雖然JavaScript提供了多種方法可以將數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型,但有兩種最常見的數(shù)據(jù)轉(zhuǎn)換方式:
1、將值轉(zhuǎn)換為字符串
2、將值轉(zhuǎn)換為數(shù)字
3、將值轉(zhuǎn)換為布爾類型
下面我們就來看看javascript是如何實(shí)現(xiàn)這兩種最常見的數(shù)據(jù)轉(zhuǎn)換方式的。
將值轉(zhuǎn)換為字符串:
使用String()或toString()函數(shù)將值轉(zhuǎn)換為字符串。
String()函數(shù)
語法:
String(value);
例:
先使用 typeof value查看值的類型。
在使用String)函數(shù)進(jìn)行轉(zhuǎn)換,在查看值的類型
let value = true; alert(typeof value); // 顯示值為:boolean類型 value = String(value); // 現(xiàn)在,值“true”是一個(gè)字符串類型 alert(typeof value); // 顯示值為:string類型
運(yùn)行:
toString()函數(shù)
語法:
variableName.toString(base)
例:
輸入:
var v = 1555;
var s = v.toString();
輸出:
現(xiàn)在s包含的值是字符串類型:“1555”。
代碼2:
下面的代碼將數(shù)字轉(zhuǎn)換為字符串,布爾值轉(zhuǎn)換為字符串,日期轉(zhuǎn)換為字符串。
<script> // 分別定義編號(hào):v和日期:d var v = 123; var d = new Date('1995-12-17T03:24:00'); // 數(shù)轉(zhuǎn)換為字符串 document.write(" String(v) = " + String(v) + "<br>"); // 數(shù)轉(zhuǎn)換為字符串 document.write(" String(v + 11) = " + String(v + 11) + "<br>"); document.write(" String( 10 + 10) = " + String(10 + 10) + "<br>"); // 布爾值轉(zhuǎn)換為字符串 document.write(" String(false) = " + String(false) + "<br>"); // 日期轉(zhuǎn)換為字符串 document.write(" String(d) = " + String(d) + "<br>"); </script>
輸出:
將值轉(zhuǎn)換為數(shù)字:
我們可以使用JavaScript中的Number()函數(shù)將值轉(zhuǎn)換為數(shù)字。它可以將任何數(shù)字文本和布爾值轉(zhuǎn)換為數(shù)字。如果是非數(shù)字字符串,它會(huì)將其轉(zhuǎn)換為NaN(非數(shù)字)。
語法:
Number(valueToConvert)
示例:
代碼1:下面的代碼將數(shù)字文本,日期和布爾值轉(zhuǎn)換為數(shù)字。
<script> // 分別定義編號(hào):v和日期:d var v = "144"; var d = new Date('1995-12-17T03:24:00'); // 字符串轉(zhuǎn)換為數(shù)字 document.write(" Number(v) = " + Number(v) + "<br>"); //布爾值轉(zhuǎn)換為數(shù) document.write(" Number(false) = " + Number(false) + "<br>"); document.write(" Number(true) = " + Number(true) + "<br>"); // 日期轉(zhuǎn)換為數(shù)字 document.write(" Number(d) = " + Number(d) + "<br>"); </script>
運(yùn)行輸出:
代碼2:如果字符串是非數(shù)字,則將其轉(zhuǎn)換為NaN,空格字符串或空字符串將轉(zhuǎn)換為0。
<script> // 指定空字符串 var v = ""; // 分配空白空間 var d = " "; // 分配非數(shù)字串 var s = "GeeksforGeeks"; // 輸出 數(shù)的轉(zhuǎn)換值 document.write(" Number(v) = " + Number(v) + "<br>"); document.write(" Number(d) = " + Number(d) + "<br>"); document.write(" Number(s) = " + Number(s) + "<br>"); </script>
運(yùn)行,輸出:
將值轉(zhuǎn)換為布爾類型
布爾轉(zhuǎn)換是最簡單的。
它發(fā)生在邏輯運(yùn)算中,但也可以通過調(diào)用手動(dòng)執(zhí)行Boolean(value)。
轉(zhuǎn)換規(guī)則:
1、直觀“空”的值,例如0,空字符串null,undefined并且NaN變?yōu)閒alse。
2、其他的值變?yōu)閠rue。
語法:
Boolean(value)
示例:
// 數(shù)字轉(zhuǎn)換為布爾值 document.write("Boolean(0) = " + Boolean(0) + "<br>"); document.write("Boolean(1) = " +Boolean(1) + "<br>"); document.write("Boolean(2) = " + Boolean(2) + "<br>"); // 字符串轉(zhuǎn)換為布爾值 document.write(" Boolean('hello') = " + Boolean('hello') + "<br>"); document.write(" Boolean('') = " + Boolean('') + "<br>");
輸出:
感謝各位的閱讀!關(guān)于javascript實(shí)現(xiàn)值類型轉(zhuǎn)換的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。