1. 程式人生 > >JS高級程序設計筆記-ECMA基礎

JS高級程序設計筆記-ECMA基礎

返回值 基礎 直接 ora 運算 如果 存儲對象 根據 長度

一、原始值和引用值

原始值:存儲在棧(stack)中的簡單數據段,它們的值直接存儲在變量訪問的位置。

引用值:存儲在堆(heap)中的對象,存儲在變量處的值是一個指針,指向存儲對象的內存處。

二、原始類型:(基本數據類型)

undefined、null、boolean、number、string

三、typeof運算符(判斷基本數據類型)

輸出結果:undefined、boolean、number、string、object

1、undefined

當一個未聲明的變量和一個聲明但並未初始化的變量使用typeof都會輸出undefined,如下代碼所示

var value1;
//var value2
console.log(typeof value1);//undefined console.log(typeof value2);//undefined

PS:當函數無明確返回值時,返回的也是undefined。

2、null類型

undefined派生自null。null表示尚未存在的對象。

3、number類型

(1)八進制:首數字為0;

(2)十六進制:首數字為0x;

(3)ECMAScript默認把6個或6個以上的前導0的浮點數轉換為科學計數法;

(4)幾個被定義為Number類型的特殊值:

Number.MAX_VALUE

Number.MIN_VALUE

(5)isFinit()方法:確定該數不是無窮大

(6) NaN (非數),特性:不能用於算數計算;

             與自身不相等;

(7) isNaN()方法:確定是否為NaN;

4、String類型

首字符從位置0開始,字符串最後一個字符的位置是字符串的長度減1;

四、轉換

1、轉換成字符串:toString()方法

Boolean類型:輸出“true”或“false”

Number類型:根據兩種模式:

       默認模式:相應數字值得字符串輸出;

       基模式:輸出不同進制形式數字對應的字符串;

2、轉換成數字

只有對string類型調用這些方法才能正確運行,對其他類型返回NaN;

parseInt():

運行機制:從位置0開始查找判斷是否為有效數字,如果不是返回NaN,如果是則繼續向後查找,直到找到非有效數字,將之前的字符串轉換為數字。

PS:parseInt()方法有基模式,將二進制、八進制、十六進制的字符串轉化為整數,由第二個參數指定。

parseFloat():

運行機制:從位置0開始查找每個字符,直到出現第一個非有效字符,將之前的字符串轉化為數字。第一個出現的小數點是有效字符,第二個是無效的。

PS:字符串必須以十進制形式表示浮點數,不能用八進制或十六進制形式,沒有基模式。

3、強制類型轉換

Boolean(value)

(1)轉換成Boolean類型;

(2)轉換的值至少是有一個字符的字符串、非0數字或對象時,返回true;

(3)轉換的值為空字符串、數字0、undefined、Null,返回false;

Number(value):轉換成數字;

(1)與parseInt(),parseFloat類似,但轉化的是整個值,不是部分值。如果字符串值能完整的被轉換,Number()將判斷調用parseInt()還是parseFloat()。

String(value):將任何值轉換成字符串;

JS高級程序設計筆記-ECMA基礎