區分大小寫html
js中的一切,包括變量、函數名和操做符都區分大小寫。例如text和Text屬於不一樣的變量。函數
標識符編碼
標識符是指變量、函數、屬性的名字,或者函數的參數。標識符可spa
以是下列各式規則組合起來的一個或者多個字符:指針
1.第一個字符必須是字母、下劃線或者美圓符號。code
2.其餘字符能夠是字母、下劃線、美圓符號或者數字。htm
3.不能把關鍵字、保留字、true、flase、和null做爲標識符。對象
例如:myName、book123等內存
直接量(字面量)字符串
全部的字面量,就是程序中直接顯示出來的數據值。
100 //數字字面量
"個人第一章js" //字符串字面量
flase //布爾字面量
null // 對象字面量
關鍵字
有特殊用途的關鍵字,通常用於控制語句的開始或者結束。或者用於執行特定的寫操做。關鍵字是語言保留的,不能用做標識符。
例如: break、else、 new、 var、case、 catch
保留字
不能用做標識符,雖然如今尚未特定的用途,可是未來頗有可能被用做關鍵字
例如: abstract、 into、boolean、 float、 char、 static
js中變量是鬆散類型的,用來保存任何類型的數據,定義變量要用var,後面跟一個變量名(標識符)。
var box;
alert (box);
這句話定義了box變量, 可是沒有對它初始化,也就是沒有賦值,這時系統會給他一個特殊的值- undefined(表示未定義)。
可使用一條語句定義多個變量,只要把變量用逗號分開便可。
var box="個人練習",age=24,height=168;
js中有6中簡單的數據類型:undefined、Null、Boolean、Number、string、object。
typeof操做符
用來檢測變量的數據類型。對於值或者變量使用typeof操做符會返回以下字符串。
字符串 描述
undefined 未定義
boolean 布爾值
string 字符串
number 數值
object 對象或者null
function 函數
typeof 操做符能夠操做變量,也能夠操做字面量。雖然也能夠這樣使用 typeof(box), 可是,typeof是操做符而非內置函數。 PS:函數在js中是對象,不是數據類型。因此,使用typeof 來區分function和object是很是有必要的。
Undefined類型
只有一個值,即特殊的Undefined。在使用var聲明變量,單沒有對其初始化,這個變量的值就是Undefined。
var box; alert(box); var box; alert(age);
未初始化的變量與根本不存在的變量(未聲明的變量)是不同的。
PS:若是typeof box,typeof age 都返回的Undefined.從邏輯上講,他們的值,一個是Undefined,一個是報錯, 他們的類型確都是Undefined。因此 ,咱們再定義變量的時候,儘量的不要只,聲明,不賦值。
Null 類型
Null 類型是一個只有一個值的數據類型。它表示一個空對象引用(指針),而typeof出走左幅檢測null 會返回object.
var box=null; alert(typeof box);
若是定義的變量在未來用於保存對象,那麼最好將該變量初始化爲null。這樣,當檢查null值就知道變量是否已經分配了對象引用了。
var box=null; if(box!=null){ alert("box對象已經存在!") }
因爲undefined和null兩個值的比較是至關的,因此,未初始化的變量和賦值未null的變量會至關,這是能夠採用typeof變量的類型進行比較。可是,仍是養成編碼的規範,不要忘記初始化變量。
var box; var car=null; alert(typeof box==typeof car)
Boolean類型
Boolean 類型有兩個字面量:true和false。而true不必定等於1,false不同等於0.
var box=true; alert(typeof box);
雖然 Boolean 類型的字面量只有true和false兩種,可是js中全部的類型的值都有與這兩個布爾值等價的值。要將一個值轉換爲其對應的布爾值,可使用轉型函數Boolean().
var hello="hello"; var hello2=Boolean(hello); alert(typeof hello2);
上面是一種強制性轉換,還有一種隱式轉換。好比,在if條件語句裏面的條件判斷,就屬於隱式轉換。
var hello="hello world"; if(hello){ alert("若是條件爲true,就執行我這條"); } else{ alert("若是條件爲false,就執行我這條"); }
如下是其餘類型轉布爾類型規則 可本身測
數據類型 轉換爲true 轉換爲false
Boolean true false
String 任何非空的字符串 空字符串
Number 任何非零的數字(包括無窮大) 0和NaN
Object 任何對象 null
Undefined Undefined
Number類型
包含兩種數值:整形和浮點型。
浮點型,就是該數值中必須包含一個小數點,小數點後必須至少有一個數字。因爲浮點數值須要的內存空間比整形數值大兩倍,所以js會自動將能夠轉換爲整形的浮點數值轉換爲整形。
NaN,非數值是一個特殊的值,這個數值用於表示一個原本返回數值的操做數未返回數值的狀況。
String 類型
字符串,字符串用單引號或者雙引號表示。
js中的字符串是不可變的,一旦建立,值就不能改變。
var box=11; alert(typeof box.toString());
若是在轉型以前不知道是不是null或者undefined的狀況下,咱們還可使用轉型函數String(),這個函數能將任何類型的值轉換爲字符串。
Object類型
js中的對象實際上是一組數據和功能的集合。對象能夠執行new操做符後跟要建立的對象類型的名稱來建立。
var box=new Object();
obiect能夠任意傳參,能夠傳數值、字符串、布爾值等。並且還能夠相對應的計算。
var box=new Object(2); var age=box+2; alert(age);