天天看點

JavaScript資料類型和變量

1. 資料類型

雖然JS裡面可以直接寫

<script>

a=1;

b="2";

</script>

1

2

3

4

但是實際上js的所有變量/常量都是有類型的。

JS所有的資料類型分為5類

string 字元串類型

number 數字類型

boolean 布爾類型

object 對象類型 (需要注意的是null是對象類型的空值)

function 函數類型

undefined (未定義,不知道是什麼資料類型)

5

6

2. undefined和null的差別

null是有類型的,隻是沒有值(值為空),而undefined直接連類型都沒有(類型為未定義類型)

比如

console.log(typeof(a));//number

a=null;

console.log(typeof(a));//object

console.log(typeof(b));//undefined

從上面也可以看出,其實JS中一切都是對象哦,再舉一個神奇的例子,

function test(){

 var x = "123";              

 var y = new String("123");

 console.log(x ==y);// 結果為 true 都是值為"123"的字元串

 console.log(x === y);// 結果為 false,因為 x 是字元串,y 是對象

}

3. typeof判斷類型

typeof函數可以傳回對象的類型:

function test(){

 console.log(typeof("123"));// 傳回 string

 console.log(typeof(123));// 傳回 number

 console.log(typeof(true));// 傳回 boolean

 console.log(typeof([1,2,3]));// 傳回 object

 console.log(typeof({name:"maoge"}));// 傳回 object

 console.log(typeof(function(){}));// 傳回 function

 console.log(typeof(x));// 傳回 undefined

 console.log(typeof(null));// 傳回 object

7

8

9

10

判斷相等

===成立,必須typeof的類型相同,值也相同

==僅判斷值,如果類型不同會轉換類型

console.log(1==="1");//false

console.log(1=="1");//true

4. 局部變量和全局變量

規則:

函數内部使用var聲明:局部變量

函數外部使用var聲明:全局變量

未使用var聲明:全局變量(無論是否在函數内部)

還是建議統一先用var聲明了再使用!

繼續閱讀