基本概念
語(yǔ)法
區(qū)分大小寫
變量test和變量Test分別表示兩個(gè)不同的變量
標(biāo)識(shí)符
所謂標(biāo)識(shí)符,就是指變量默辨、函數(shù)、屬性的名字苍息,或者函數(shù)的參數(shù)缩幸。
標(biāo)識(shí)符的的格式
- 第一個(gè)字符必須是一個(gè)字母、下劃線(_)或一個(gè)美元符號(hào)($);
- 其他字符可以是字母竞思、下劃線表谊、美元符號(hào)或數(shù)字。
駝峰命名 : 第一個(gè)字母小寫盖喷,剩下的每個(gè)單詞的字母大寫爆办。
嚴(yán)格模式
在整個(gè)腳本中啟動(dòng)嚴(yán)格模式,可以在頂部添加一下代碼:
"use strict";
嚴(yán)格模式是為JavaScript定義了一種不同的解析與執(zhí)行模型课梳。
關(guān)鍵字和保留字
關(guān)鍵字可用于表示控制語(yǔ)句的開(kāi)始或結(jié)束距辆,或者用于執(zhí)行特定操作等。關(guān)鍵字是語(yǔ)言保留的暮刃,不能用作標(biāo)識(shí)符跨算。盡管保留字還沒(méi)有任何特定的用途,但它們有可能在將來(lái)被用作關(guān)鍵字椭懊。
變量
ECMAScript的變量是松散類型的漂彤,所謂松散類型就是可以用來(lái)保存任何類型的數(shù)據(jù)。(每個(gè)變量?jī)H僅是一個(gè)用于保存值的占位符而已)
用var操作費(fèi)定義的變量將成為定義該變量的作用域中的局部變量灾搏。
function test(){
var message = 'hi'; //局部變量
}
test()
console.log(messate); //錯(cuò)誤
可以用一條語(yǔ)句定義多個(gè)變量
var message = 'hi',
found = false,
age = 29;
在嚴(yán)格模式下挫望,不能定義名為eval或arguments的變量,否則會(huì)導(dǎo)致語(yǔ)法錯(cuò)誤狂窑。
數(shù)據(jù)類型
ECMAScript有六種簡(jiǎn)單數(shù)據(jù)類型(基本數(shù)據(jù)類型):undefined Null Boolean Number String Symbol 一種復(fù)雜數(shù)據(jù)類型——Object,Object本質(zhì)上是由一組無(wú)序的名值對(duì)組成的媳板。ECMAScript不支持任何創(chuàng)建自定義類型的機(jī)制。
typeof操作符
由于ECMAScript是松散類型的泉哈,因此需要有一種手段來(lái)檢測(cè)給定變量的數(shù)據(jù)類型 ——typeof 就是負(fù)責(zé)提供這方面新的的操作符蛉幸。
//對(duì)一個(gè)值使用typeof操作符可能返回下列某個(gè)字符串
“undefinen” ——如果這個(gè)值未定義
"boolean" ——如果這個(gè)值是布爾值
"string" ——如果這個(gè)值是字符串
"number" ——如果這個(gè)值是數(shù)字
"object" ——如果這個(gè)值是對(duì)象或null
"function" ——如果這個(gè)值是函數(shù)
有些時(shí)候,typeof 操作符會(huì)返回一些令人迷惑但技術(shù)上卻正確的值破讨。比如
typeof null => "object" //特殊值null被認(rèn)為是一個(gè)空的對(duì)象引用
Undefined 類型
Undefined類型只有一個(gè)值,既特殊的undefined奕纫。使用var聲明變量單位對(duì)其加以初始化時(shí)提陶,這個(gè)值就是undefined
var message;
console.log(message == undefined) //true
等價(jià)于
var message = undefined;
console.log(message == undefined) //true
一般不存在顯式地把一個(gè)變量設(shè)置為undefined值的情況。
Null
Null類型也是只有一個(gè)值的數(shù)據(jù)類型匹层,這個(gè)特殊的值是null隙笆。從邏輯角度來(lái)看,null值表示一個(gè)空對(duì)象指針升筏。(typeof null // object)
只要意在保存對(duì)象的變量還沒(méi)有真正保存對(duì)象撑柔,就應(yīng)該明確地讓該變量保存null值。這樣不僅可以體現(xiàn)null作為空對(duì)象指針的慣例您访,也有助于進(jìn)一步區(qū)分null 和 undefined铅忿。
Boolean
Boolean類型只有兩個(gè)字面值 true 和false 。這兩個(gè)值與數(shù)字值不是一回事灵汪,true不一定等于1檀训,false也不一定等于0.
Number
NaN
- 任何涉及NaN的操作都會(huì)返回NaN
- NaN與任何值都不想等,包括NaN本身
數(shù)值轉(zhuǎn)換
Number()
parseInt()
parseFloat()
String
String類型用于表示由零或多個(gè)16位Unicode字符序列享言,既字符串峻凫。
object類型
ECMAScript中的對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合。
操作符
一元操作符
遞增和遞減操作符
一元加和減操作符
位操作符
布爾操作符
與或非
乘性操作符
乘法
除法
加性操作符
加法
減法
關(guān)系操作符
相等操作符
相等和不相等
全等和不全等
條件操作符
賦值操作符
逗號(hào)操作符
語(yǔ)句
54頁(yè)