JavaScript中的數據類型轉換

  最近仍是在看《JavaScript高級程序設計》,看了接近一半了,打算停下來檢查一下本身看書的成果。昨天饒有興致去作了一套2014阿里巴巴校園招聘前端在線筆試題,完整的一套竟然有37題,真是累出*。在看了好幾我的的答案以後,以爲在JavaScript中數據類型的轉換是一個既重要,又容易犯迷糊的知識點,打算本身寫上一篇博客,以便本身往後查閱。前端

  在寫下這篇博客以前,習慣性的百度了一下別人怎麼講述我本身將要講述的東西,發現你們的重點是羅列全部方法。我打算和大夥不同的是,主要想談一談我本身之前不太明白的。函數

  JavaScript的數據類型轉換主要有三類:spa

  • 原始值轉換成原始值
  • 原始值轉換成對象
  • 對象轉換成原始值

  上面所講到的原始值是指string、int 和 boolean這些基本類型的值。在這三種轉換當中,根據轉換方式又能夠劃分紅顯示轉換和隱式轉換。其中顯示轉換又能夠叫作強制轉化,也就是調用強制Number、String和Boolean三個構造函數,手動將各類類型的值,轉換成數字、字符串或者布爾值。下面簡單介紹一下這三種方法的用法。設計

1.轉型函數Number():code

  • 若是是布爾值,獲得的結果是1(true)和0(false)
  • 若是是數字,只是簡單的傳入傳出
  • 若是是null,返回0
  • 若是是undefined,返回NaN
  • 若是是字符串,包含幾種狀況:
    • 若是是空的字符串,返回0
    • 若是隻包含數字,會轉換成十進制數字
    • 若是字符串是有效的浮點數格式,轉換成對應的浮點數
    • 若是是有效的十六進制格式,轉換成對應的十進制數字
    • 若是不是以上格式,返回NaN
1 var bool = true;        //布爾值true,返回1
2 var num = 12345;        //單純的數字,返回12345
3 var nullVal = null;        //返回0
4 var test = undefined;    //返回NaN
5 var emptyString = " ";  //返回0
6 var numString = "12345";//返回12345
7 var floatString = "1.2345";        //返回1.2345
8 var num2 = "0xf";        //返回15
9 var test2 = "hello";        //返回NaN

2.轉型函數String():若是值有toSting()方法,首先調用該方法,若是沒有該方法,則按照一下規則調用對象

  • 若是是數值,獲得相應的字符串
  • 若是是null,返回字符串「null」
  • 若是是undefined,返回「undefined」
  • 若是是布爾值,則轉換成「true」(true)和「false」(false)
var value1 = 12345;        //返回"12345"
var value2 = null;        //返回 "null"
var value3 = undefined; //返回 "undefined"
var value4 = true;        //返回true

3.轉型函數Boolean():使用Boolean函數,能夠將任意類型的變量轉爲布爾值blog

  • 除了undefined,null,0,-0,NaN,「 」返回值爲false,其餘所有是true
1 var value1 = undefined;        //false
2 var value2 = null;        //false
3 var value3 = 0;        //false
4 var value4 = -0;        //false
5 var value5 = NaN;        //false
6 var value6 = " ";        //false
7 var value7 = {
8     name : "Jerry"
9 };                    //true
相關文章
相關標籤/搜索