JS數(shù)據(jù)類型,類型轉(zhuǎn)換

ECMAScript:標準、核心
HTML 標簽類型:block、inline、inline-block、table……
JS中的數(shù)據(jù)類型:數(shù)字(Number)、字符串(String)、布爾(boolean)、函數(shù)、對象(obj、[]、{}、null)、未定義(undefined)

typeof 判斷數(shù)據(jù)類型

  • typeof操作符的操作數(shù)可以是變量也可以是數(shù)值字面量。
var i = 100;
 alert( typeof i );           // number
 alert(typeof 100);        //number
var s = ' miaov ';
 alert( typeof s );               // string
 alert( s.length );               // 7
 alert( s.charAt(3) );        // 'a'
var b = true;               // 布爾值:true  false
 alert( typeof b );       // boolean
var arr=[5,6,9,3];
alert(typeof(arr));     //object
var obj = document;
 alert( typeof obj );             // object  物體、東西、對象
var n = null;
 alert( typeof n );            //object(從邏輯角度看,null值表示一個空對象指針,所以會返回object)
var a;
alert(typeof a);   //undefined

數(shù)據(jù)類型轉(zhuǎn)換-number

  • JS中有三個函數(shù)可以將非數(shù)值轉(zhuǎn)化為數(shù)值:Number(),ParesInt(),ParesFloat()。
  • 區(qū)別:Number()可以用于任何數(shù)據(jù)類型,而另外兩個函數(shù)專門用于把字符串轉(zhuǎn)換成數(shù)值

Number()函數(shù)的轉(zhuǎn)換規(guī)則如下

  1. 如果是boolean值,true和false會分別轉(zhuǎn)化為1和0;
    var a=true;
    alert(Number(a));  // 1
  1. 如果只是數(shù)字值,只是簡單的傳入和返回。
    var a=100;
    alert(Number(a));  // 100
  1. 如果是Null值,則會返回0;
var a = null;
// alert( Number(a) );             // 0
  1. 如果是undefined,函數(shù),json則都返回NaN;
var json = {};
// alert( Number(json) ); //NaN
var u;
// alert( Number(u) );  //NaN
var a3 = function (){ alert(1); };
// alert( Number(a3) );           // NaN
  1. 如果是字符串,遵循下列規(guī)則:
  • 如果字符串中只包含數(shù)字(包括正負,并且前導的零會被忽略),則將其轉(zhuǎn)換為十進制數(shù)值
var a = '+100';
 alert( a+100 );      // '100100'
 alert( Number(a) );          // 100
  • 如果字符串中包含有效的浮點數(shù),則將其轉(zhuǎn)化為對應(yīng)的浮點數(shù)
    var a=2.123;
    alert(Number(a)); //2.123
  • 如果字符串中包含有效的十六進制格式,如'0xf',則將其轉(zhuǎn)化為相同大小的十進制數(shù)值
 var a=0xAD;
 alert(Number(a));  //173
  • 如果是空字符串(不包含任何字符),則將其轉(zhuǎn)換為0;
var a1 = '    ';
// alert( Number(a1) );     // 0
  • 其他格式的字符串將會被轉(zhuǎn)化為NaN;

parseInt()轉(zhuǎn)換規(guī)則如下:

  1. 它會忽略字符串前面的空格,直至找到第一個非空字符,如果第一字符不是數(shù)字符號,則返回NaN。
  2. 空字符串也會被轉(zhuǎn)換為NaN。
  3. 從第一數(shù)字字符開始解析,直到解析到最后一個數(shù)字字符或者遇到一個非數(shù)字字符則會停止解析,相應(yīng)的小數(shù)點也不會被解析。
  4. 當需要解析進制數(shù)時最好在函數(shù)中添加第二個參數(shù):轉(zhuǎn)換時使用的基數(shù)(即多少進制的數(shù)字)。
var num=parseInt('0xAF',16) //175

parseFloat()的與parseInt()的一些區(qū)別:

  1. 它解析的第一個小數(shù)點有效,第二個小數(shù)點無效。
  2. 前導0會被忽略,所以只能解析十進制
//特殊的一些轉(zhuǎn)換
var a=parseFloat('0xAF');  //0
var b=parseFloat('3.125e7'); //31250000
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章: JS簡介 從當初簡單的語言,變成了現(xiàn)在能夠處理復雜計算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,761評論 0 6
  • 變量 聲明變量 命名變量區(qū)分大小寫的語言第一個字符是字母或下劃線_,數(shù)字不能作為第一個字符字符必須是字母,數(shù)字或者...
    flyingtoparis閱讀 896評論 0 0
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,682評論 0 4
  • ECMAScript中有5種簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):Undefined 、Null、 Boolean ...
    胖胖冰閱讀 310評論 0 0
  • 好朋友接二連三的結(jié)婚了,有一種做爸爸的把女兒交出去的感覺,有些許的不舍,也明白好朋友之后的精力更多的會放在...
    洋蔥蔥閱讀 1,929評論 37 33

友情鏈接更多精彩內(nèi)容