1. ECMAScript的語(yǔ)法大量借鑒了C及其他類(lèi)C語(yǔ)言的語(yǔ)法链沼。
2. ECMAScript中的一切(變量默赂、函數(shù)名和操作符)都區(qū)分大小寫(xiě)。
3. 按照慣例括勺,ECMAScript標(biāo)識(shí)符采用駝峰大小寫(xiě)格式缆八。
所謂標(biāo)識(shí)符,就是指變量疾捍、函數(shù)耀里、屬性的名字,或者函數(shù)的參數(shù)拾氓。
標(biāo)識(shí)符可以是按照下列格式規(guī)則組合起來(lái)的一或多個(gè)字符:
- 第一個(gè)字符必須是一個(gè)字母、下劃線(xiàn)( _ )或一個(gè)美元符號(hào)($)底哥;
- 其他字符可以是字母咙鞍、下劃線(xiàn)、美元符號(hào)($)或數(shù)字趾徽。
- 數(shù)據(jù)類(lèi)型(6種)
ECMAScript中有5種簡(jiǎn)單數(shù)據(jù)類(lèi)型(也稱(chēng)為基本數(shù)據(jù)類(lèi)型)和1種復(fù)雜數(shù)據(jù)類(lèi)型(Object)续滋。
基本數(shù)據(jù)類(lèi)型:Number、Boolean孵奶、String疲酌、Undefined、Null
- typeof操作符
- 值未定義----undefined
- 布爾值----boolean
- 字符串----string
- 數(shù)值-----number
- 對(duì)象/null----object
- 函數(shù)----function
6.parseInt()和parseFloat()注意事項(xiàng)
- parseInt()可以識(shí)別出各種整數(shù)格式(十進(jìn)制,八進(jìn)制朗恳,十六進(jìn)制)湿颅。
可以有第二個(gè)參數(shù):轉(zhuǎn)換時(shí)使用的基數(shù)(即多少進(jìn)制)。例:parseInt("AF",16)- parseFloat()只解析十進(jìn)制值粥诫,因此它沒(méi)有用第二個(gè)參數(shù)指定基數(shù)的用法油航。
- 字符串的特點(diǎn)
- 字符串一旦創(chuàng)建,他們的值就不能改變怀浆。
- 要改變某個(gè)變量保存的字符串谊囚,首先要銷(xiāo)毀原來(lái)的字符串,然后再用另一個(gè)包含新值的字符串填充該變量执赡。
例:
var lang="java";
lang = lang + 'Script'; // javaScript
實(shí)現(xiàn)這個(gè)操作的過(guò)程如下:首先創(chuàng)建一個(gè)能容納10個(gè)字符的新字符串镰踏,然后在這個(gè)字符串中填充“java”和“script”,最后一步是銷(xiāo)毀原來(lái)的字符串“java”和字符串“Script”沙合。
- 轉(zhuǎn)換為字符串
要把一個(gè)值轉(zhuǎn)換為字符串有兩種方式奠伪。
- toString()
數(shù)值、布爾值灌诅、對(duì)象和字符串值都有該方法芳来。
但null和undefined值沒(méi)有這個(gè)方法。
調(diào)用toString()方法是可以傳遞一個(gè)參數(shù):輸出數(shù)值的基數(shù)猜拾。(默認(rèn)為10進(jìn)制)
- String()
該函數(shù)遵循的轉(zhuǎn)換規(guī)則:
1.如果值有toString()方法即舌,則調(diào)用該方法并返回相應(yīng)的結(jié)果;
2.如果值為null挎袜,則返回"null"顽聂;
3.如果值為undefined,則返回"undefined"盯仪。
- 語(yǔ)句
if語(yǔ)句紊搪、do while語(yǔ)句、while語(yǔ)句全景、for語(yǔ)句耀石、for in語(yǔ)句(可以用來(lái)枚舉對(duì)象的屬性)等
with語(yǔ)句
例:
var qs = location.search.substring(1);
var hostName = location.hostName;
var url = location.href;
with(location){
?????? var qs = search.substring(1);
??????var hostName = hostName;
??????var url = href;
}
- 函數(shù)
- 函數(shù)會(huì)在執(zhí)行完return語(yǔ)句之后停止并立即退出。因此爸黄,位于return語(yǔ)句之后的任何代碼都永遠(yuǎn)不會(huì)執(zhí)行滞伟。
- return語(yǔ)句也可以不帶有任何返回值。在這種情況下炕贵,函數(shù)在停止執(zhí)行后將返回undefined值梆奈。
- 理解參數(shù)
1.ECMAScript中的參數(shù)在內(nèi)部是用一個(gè)數(shù)組來(lái)表示的。
2.所以函數(shù)不介意傳遞進(jìn)來(lái)多少個(gè)參數(shù)称开,也不在乎傳進(jìn)來(lái)參數(shù)是什么數(shù)據(jù)類(lèi)型亩钟。
3.沒(méi)有傳遞值的命名參數(shù)將自動(dòng)被賦予undefined值乓梨。
4.實(shí)際上在函數(shù)體內(nèi)可以通過(guò) arguments對(duì)象 來(lái)訪(fǎng)問(wèn)這個(gè)參數(shù)數(shù)組,從而獲取傳遞給函數(shù)的每一個(gè)參數(shù)清酥。
11.++和--
后置自增扶镀、自減與前置自增、自減的最大區(qū)別
后置自增总处、自減操作是在包含它們的語(yǔ)句被求值之后才執(zhí)行
let num1 = 2;
let num2 = 20;
let num3 = num1-- + num2; // 22
let num4 = num1 + num2; // 21