溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javascript實(shí)現(xiàn)值類型轉(zhuǎn)換的方法

發(fā)布時(shí)間:2020-08-29 14:34:33 來源:億速云 閱讀:141 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(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)行后,輸出:

javascript實(shí)現(xiàn)值類型轉(zhuǎ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)行:

javascript實(shí)現(xiàn)值類型轉(zhuǎ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>

輸出:

javascript實(shí)現(xiàn)值類型轉(zhuǎn)換的方法

將值轉(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)行輸出:

javascript實(shí)現(xiàn)值類型轉(zhuǎ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)行,輸出:

javascript實(shí)現(xiàn)值類型轉(zhuǎ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>");

輸出:

javascript實(shí)現(xiàn)值類型轉(zhuǎn)換的方法

感謝各位的閱讀!關(guān)于javascript實(shí)現(xiàn)值類型轉(zhuǎn)換的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(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)容。

AI