JavaScript核心語法——數據類型

數據類型

1.數據類型的概述;
在JavaScript代碼中,可以表示而且操做值的類型就叫作數據類型
數據類型能夠分紅可變類型和不可變類型,可變類型的值是能夠修改的。相反不可變類型的值是不能夠修改的。
數據類型還有原始類型(原始值)與引用類型(內置對象)
而原始樂行還分爲原始類型和特殊類型,引用類型分爲包裝類型與引用類型
原始類型是直接表明JavaScript語言實現的最底層的數據。
原始類型分別有boolean類型、number類型和string類型三種。函數

2.number類型;整數和浮點數,JavaScript不區分整數和浮點數
number類型中的小數,在計算時可能出現偏差
1.並非全部的小數計算都會出現偏差
2.小數計算時要注意結果是否出現偏差
3.經過數字之的換算,將其轉換成整數進行計算,再把結果換算成小數。
number類型中存在一個特殊的值叫NaN。
NaN表示當前的值不是一個數字值、但依舊是number類型,
它與任何值包括自身都不相等性能

3.string類型 - JavaScript的字符串就是由單引號或雙引號包裹
在JavaScript中單引號和雙引號是沒有區別的——建議使用單引號code

string類型 - 文本自己須要單引號或雙引號時
1.若是須要的是雙引號,字符串只能使用單引號
2.若是須要的是單引號,字符串只能使用共贏好對象

var str3 = '"wolongxueyuan"wuwenjia';
console.log(str3);

var str4 = "'wolongxueyuan'wuwenjia";
console.log(str4);

4.boolean類型
這個屬性有兩個值;true和false
因爲JavaScript是區分大小寫的,boolean類型的teue和false所有是小寫。
JavaScript也能夠把其餘類型的數據自動轉換爲boolean類型ip

5.typeof運算符字符串

var num = 100;
var boo = true;
var str = 'wuwenjia';

console.log(typeof num); // number
console.log(typeof boo); // boolean
console.log(typeof str); // string

var result = typeof num;
console.log(result); // number
console.log(typeof result); // string
typeof運算符判斷原始類型
語法結構——typeof變量名稱。
結果——原始類型的名稱(string類型)

6.instanceof運算符string

var str = new String('wuwenjia');
var num = new Number(100);
var boo = new Boolean(true);
// typeof運算符只能判斷原始類型
console.log(typeof str);// object
console.log(typeof num);// object
console.log(typeof boo);// object
// instanceof運算符用於判斷引用類型(包裝類型)
console.log(str instanceof String);// true

typeof運算符和instanceof運算符的區別
typeof運算符console

1.用於判斷原始類型
  2.語法結構不一樣——typeof 變量名稱
  3.獲得結果不一樣——原始類型的名稱

instanceof運算符變量

1.用於判斷引用類型(包裝類型)
  2.語法結構不一樣——變量名稱 instanceof 引用類型名稱
  3.獲得結果不一樣——布爾類型的值(true或false)

7.隱式3類型轉換
因爲JavaScript是弱類型/鬆散型的,在任何狀況下均可以強制轉換object

var result3 = +str;
console.log(result3);// NaN
console.log(typeof result3);// number
var result4 = +boo;
console.log(result4);// true爲1,false爲0
console.log(typeof result4);// number

轉換爲number類型

string類型轉換爲number類型
     若是文本內容是普通的文本(非數字) -> 轉換後的結果爲 NaN
     若是文本內容是數字值 -> 轉換後的結果爲對應數字值
   boolean類型轉換爲number類型
     true轉換爲1
     false轉換爲0
var result5 = !!str;
console.log(result5);// true
console.log(typeof result5);// boolean
var result6 = !!num;
console.log(result6);// true
console.log(typeof result6);// boolean

轉換爲boolean類型

string類型轉換爲boolean類型
   空字符串(''或"")轉換後的結果爲false,其他狀況都爲true
 number類型轉換爲boolean類型
  0或NaN轉換後的結果爲false,其他狀況都爲true
 undefined或null轉換後的結果爲false

8.顯示類型轉換
轉換爲string類型

String()函數 -> String(值)
   toString()方法 -> 變量名.toString()
   對象的方法 -> 將變量看成是一個對象來使用
var result1 = String(num);
console.log(typeof result1);// string
var result2 = num.toString();
console.log(typeof result2);// string

轉換爲number類型

Number()函數 -> Number(值)
   parseInt()函數 -> parseInt(值)
     轉換爲number類型,轉換爲一個整數
   parseFloat()函數 -> parseFloat(值)
     轉換爲number類型,轉換爲一個浮點數
var result3 = Number(boo);
console.log(typeof result3);// number

var result4 = parseInt(str1);
console.log(typeof result4);// 100
var result5 = parseFloat(str1);// 100
console.log(result5);// 100

var result6 = parseInt(str2);// 100.1
console.log(result6);// 若是當前值爲小數的話,parseInt()後取整數部分 - 100
var result7 = parseFloat(str2);// 100.1
console.log(result7);// 100.1

轉換爲boolean類型

Boolean()函數 -> Boolean(值)
var result8 = Boolean(str);
console.log(result8);// true

隱式類型轉換與顯式類型轉換的區別:

隱式類型轉換
 -優勢 - 性能好
- 缺點 - 可讀性差
 顯式類型轉換
 -優勢 - 可讀性高
 -缺點 - 性能差
相關文章
相關標籤/搜索