1. 程式人生 > >6大分類及其特點

6大分類及其特點

一,JS基本資料型別:Undefined, Null, Boolean, Number, String, Object六種。

1,Undefined:: 該型別只有一個值:undefined.

1) 一個變數宣告但未初始化,值就是 undefined,注意大小寫。

e.g:

var msg;

alert(msg); //undefined

2) 一個變數未宣告,直接使用會報錯,

e.g::

alert(newMsg); //Uncaught ReferenceError: newMsg is not defined

注意:它們呼叫 typeof 都返回 undefined.

2,Null:該型別只有一個值:null,它是一個空物件指標。

1) typeof(null) 會返回 "object"

2) undefined是從null繼承,所以 alert(null == undefined) 返回true.

3,Boolean:只有兩個值:true, false 注意全是小寫。

內建函式:Boolean() :將指定值轉換成布林值。轉換規則以示例給出:

1)Boolean(null); // false

2) Boolean(""); // false Boolean("hello,world"); //true

3) Boolean(undefined); // false

4) Boolean(0); // false Boolean(1);//true Boolean(071); //8進位制,true

4,Number: 數值型,包括整型和浮點型。

內建函式:Number(), parseInt(), parseFloat(). isFinite(); isNaN();

其中 parseInt()用於將字串轉換為整型,並可以指定進位制。parseFloat()僅針對十進位制進行轉換。

例子:

1)parseInt(011); // 9,自動識別為8進位制,並轉換為10進位制。

parseInt(11, 8); // 9 ,指定11為8進位制數,然後轉換為10進位制。

parseInt("af", 16); 或 parseInt("0xaf"); // 175 ,都是16進位制。

parseInt("af"); // NaN,注意,NaN也是Number型別,typeof 返回 number。

alert(NaN == NaN); //false,NaN和任何值都不相等。

alert(10/0);// Infinity。無窮大。

alert(Number.MAX_VALUE); //最大值, 1.797E308

alert(Number.NEGATIVE_INFINITY);// -infinity 負無窮大。

ifFinite(10/0); // false,說明不是有窮的。

var a=0.1, b =0.2; alert(a+b); //0.300000000000004

alert(a+b == 0.3); // false,浮點計算的誤差,基於IEEE754的浮點計算都有此問題。

5,String 型別:

內建函式:toString();

e.g:

1) alert("abc" == "abc"); // true

2) alert("hello".length);

3)var msg; alert(msg.toString()); //報錯,不能在undefined上呼叫toString()

4) var obj=null; alert(obj); //null

5) var num=10; alert(num.toString(2)); //1010,轉換成二進位制輸出。

6,Object型別:

內建函式和屬性:

constructor(); hasOwnProperty(pName); isPrototypeOf(pVal); propertyIsEnumerable(pName); toString(); valueOf();