JavaScript紅寶書筆記(一)---JS概述、變量及基本數據類型等

1.JavaScript由三個部分組成:ECMAScript(提供核心語言功能)、DOM(文檔對象模型,提供訪問和操做網頁內容的方法和接口)、BOM(瀏覽器對象模型,提供與瀏覽器交互的方法和接口)正則表達式

2.JavaScript概念:是一種專爲與網頁交互而設計的腳本語言瀏覽器

3.標識符命名規則:首字符必須是字母/下劃線(_)/美圓符號($),其他字符由字母/下劃線(_)/美圓符號($)/數字組成函數

4.ECMAScript基本數據類型:Undefined、Null、Boolean、Number、String
複雜數據類型:Object設計

5.typeof檢測Object或者Null的數據類型會返回「object」,由於特殊值null會被認爲是一個空的對象引用
Safari五、Chrome7版本以前的瀏覽器調用typeof檢測正則表達式會返回「function」,其它瀏覽器返回「object」指針

6.alert(未初始化變量)會顯示「undefined」;
alert(未聲明變量) 會產生錯誤;code

var message; //未初始化變量
//var age  未定義變量
alert(message);     //"undefined"
alert(age);   //產生錯誤

alert(typeof 未初始化變量) 返回「undefined」
alert(typeof 未聲明變量) 返回「undefined」對象

alert(typeof message);  //"undefined"
alert(typeof age);  //"undefined"

由於實際上不管對哪一種變量也不可能執行真正的操做接口

7.null值表示一個空對象指針,這也就是檢測數據類型返回「object」的緣由;
undefined派生至null值,因此null == undefined 爲true;
有意初始化變量爲對象,能夠設置值爲null,即空對象指針ip

8.Boolean類型的值區分大小寫,True和False並非其值,只是普通標識符文檔

9.

var octalNum1 = 070; // 八進制的 56
var octalNum2 = 079; // 無效的八進制數值——解析爲 79
var octalNum3 = 08; // 無效的八進制數值——解析爲 8

var hexNum1 = 0xA; // 十六進制的 10
var hexNum2 = 0x1f; // 十六進制的 31

10.NaN 與任何值都不相等,包括 NaN 自己

alert(NaN == NaN); //false

isNaN()函數,不能被轉換爲數值的值都會致使這個函數返回 true

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false( 10 是一個數值)
alert(isNaN("10")); //false(能夠被轉換成數值 10)
alert(isNaN("blue")); //true(不能轉換成數值)
alert(isNaN(true)); //false(能夠被轉換成數值 1)

11.Number()、parseInt()規則:
若是第一個字符不是數字字符或者負號, parseInt()就會返回 NaN;
若是第一個字符是數字字符, parseInt()會繼續解析第二個字符,直到解析完全部後續字符或者遇到了
一個非數字字符。

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false( 10 是一個數值)
alert(isNaN("10")); //false(能夠被轉換成數值 10)
alert(isNaN("blue")); //true(不能轉換成數值)
alert(isNaN(true)); //false(能夠被轉換成數值 1)

var num1 = parseInt("1234blue"); // 1234
var num2 = parseInt(""); // NaN
var num3 = parseInt("0xA"); // 10(十六進制數)
var num4 = parseInt(22.5); // 22
var num5 = parseInt("070"); // 56(八進制數)
var num6 = parseInt("70"); // 70(十進制數)
var num7 = parseInt("0xf"); // 15(十六進制數)

12.String()能夠避免,null、undefined沒法使用toString()方法轉換成字符串的狀況

相關文章
相關標籤/搜索