欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

全面了解JavaScript的數(shù)據(jù)類型轉(zhuǎn)換

 更新時間:2016年07月01日 09:34:01   投稿:jingxian  
下面小編就為大家?guī)硪黄媪私釰avaScript的數(shù)據(jù)類型轉(zhuǎn)換。小編覺得挺不錯的,現(xiàn)在就分享給大家看,也給大家做個參考。一起跟隨小編過來看看吧

 首先,由于JavaScript是弱類型語言(弱類型的語言的東西沒有明顯的類型,他能隨著環(huán)境的不同,自動變換類型而強類型則沒這樣的規(guī)定,不同類型間的操作有嚴(yán)格定義,只有相同類型的變量才能操作,雖然系統(tǒng)也有一定的默認(rèn)轉(zhuǎn)換,當(dāng)絕沒有弱類型那么隨便,也就是說變量在聲明時不需要指定數(shù)據(jù)類型,變量由賦值操作確定數(shù)據(jù)類型),所以在JavaScript的類型轉(zhuǎn)換中就存在了強類型語言所沒有的隱式轉(zhuǎn)換。

1.1 JavaScript中的隱式轉(zhuǎn)換(自動類型轉(zhuǎn)換)

簡單定義: 不同數(shù)據(jù)類型的數(shù)據(jù)在做運算的時候可以進(jìn)行默認(rèn)的數(shù)據(jù)類型的轉(zhuǎn)換。
隱式轉(zhuǎn)換通常遵循以下幾點規(guī)則:

1.數(shù)字+字符串:數(shù)字轉(zhuǎn)換為字符串。

var n1=12;//number類型
  var n2="12";//string類型
  console.log(n1+n2);//結(jié)果為string類型的"1212"

2.數(shù)字+布爾值:true轉(zhuǎn)換為1,false轉(zhuǎn)換為0。

var n1=12;//number類型
  var n2=true;//布爾類型
  console.log(n1+n2)//結(jié)果為13

 3.字符串+布爾值:布爾值轉(zhuǎn)換為true或者false。

var n1="Hello";//string類型
  var n2=true;
  console.log(n1+n2);//結(jié)果為string類型的"Hellotrue"

4.布爾值+布爾值

var n1=true;
  var n2=true;
  console.log(n1+n2);//運行結(jié)果為2;

對于上面的案例得到的結(jié)果,不確信輸出類型的小伙伴可以通過typeof()方法來查看變量的當(dāng)前類型。

 console.log(typeof(11));//number
  console.log(typeof("11"));//string
  console.log(typeof(true));//boolean

1.2 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

JavaScript中有隱式轉(zhuǎn)換,相對應(yīng)的就會有顯式轉(zhuǎn)換,想要進(jìn)行顯式轉(zhuǎn)換就需要用到下面的幾個函數(shù):

1. toString()

---->轉(zhuǎn)換為字符串,在JavaScript中所有數(shù)據(jù)類型都可以轉(zhuǎn)換為string類型

var n1="12";
  var n2=true;
  var n11=toString(n1);
  var n22=toString(n2);
  console.log(typeof(n11));//得到的結(jié)果為string
  console.log(typeof(n22));//得到的結(jié)果為string

2.parseInt()

---->解析出一個string或者number類型的整數(shù)部分,如果沒有可以轉(zhuǎn)換的部分,則返回NaN(not a number)

var n1="12";
  var n2="12han";
  var n3="Hello";
  var n11=parseInt(n1);
  var n22=parseInt(n2);
  var n33=parseInt(n3);
  console.log(n11);//得到的結(jié)果為12
  console.log(n22);//得到的結(jié)果為12
  console.log(n33);//得到的結(jié)果為NaN

運行上面的代碼我們不難看出,變量n1 n2 n3轉(zhuǎn)換后的數(shù)據(jù)類型都是number,但是其中通過函數(shù)parseInt()得到的函數(shù)n33并不是我們認(rèn)識的number類型數(shù)值,而是為NAN,這就不難看出NaN雖然不是一個數(shù)字,但是屬于數(shù)字類型,只是不能應(yīng)用到普通數(shù)字的任何算法,是一個比較特殊的存在。(后面的博文中會有提到,再次不做贅述)

3.parseFloat()

---->解析出一個string的浮點數(shù)部分,如果沒有可以轉(zhuǎn)換的部分,則返回NaN(not a number)。

var n1="12.4.5";
  var n2="12.4han";
  var n3="Hello";
  var n11=parseFloat(n1);
  var n22=parseFloat(n2);
  var n33=parseFloat(n3);
  console.log(n11);//得到的結(jié)果為12.4
  console.log(n22);//得到的結(jié)果為12.4
  console.log(n33);//得到的結(jié)果為NaN

通過上面的例子我們可以得出parseFloat()該函數(shù)的返回值確實是一個數(shù)字,但從幾個變量的縱向比較中我們不難看出該函數(shù)在遇到第二個小數(shù)點之后就不做轉(zhuǎn)換了,此處需特別注意。

以上這篇全面了解JavaScript的數(shù)據(jù)類型轉(zhuǎn)換就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論