1. ECMAScript的語法大量借鑒了C及其他類C語言的語法。
2. ECMAScript中的一切(變量、函數(shù)名和操作符)都區(qū)分大小寫。
3. 按照慣例,ECMAScript標識符采用駝峰大小寫格式。
所謂標識符,就是指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。
標識符可以是按照下列格式規(guī)則組合起來的一或多個字符:
- 第一個字符必須是一個字母、下劃線( _ )或一個美元符號($);
- 其他字符可以是字母、下劃線、美元符號($)或數(shù)字。
- 數(shù)據(jù)類型(6種)
ECMAScript中有5種簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型)和1種復雜數(shù)據(jù)類型(Object)。
基本數(shù)據(jù)類型:Number、Boolean、String、Undefined、Null
- typeof操作符
- 值未定義----undefined
- 布爾值----boolean
- 字符串----string
- 數(shù)值-----number
- 對象/null----object
- 函數(shù)----function
6.parseInt()和parseFloat()注意事項
- parseInt()可以識別出各種整數(shù)格式(十進制,八進制,十六進制)。
可以有第二個參數(shù):轉換時使用的基數(shù)(即多少進制)。例:parseInt("AF",16)- parseFloat()只解析十進制值,因此它沒有用第二個參數(shù)指定基數(shù)的用法。
- 字符串的特點
- 字符串一旦創(chuàng)建,他們的值就不能改變。
- 要改變某個變量保存的字符串,首先要銷毀原來的字符串,然后再用另一個包含新值的字符串填充該變量。
例:
var lang="java";
lang = lang + 'Script'; // javaScript
實現(xiàn)這個操作的過程如下:首先創(chuàng)建一個能容納10個字符的新字符串,然后在這個字符串中填充“java”和“script”,最后一步是銷毀原來的字符串“java”和字符串“Script”。
- 轉換為字符串
要把一個值轉換為字符串有兩種方式。
- toString()
數(shù)值、布爾值、對象和字符串值都有該方法。
但null和undefined值沒有這個方法。
調(diào)用toString()方法是可以傳遞一個參數(shù):輸出數(shù)值的基數(shù)。(默認為10進制)
- String()
該函數(shù)遵循的轉換規(guī)則:
1.如果值有toString()方法,則調(diào)用該方法并返回相應的結果;
2.如果值為null,則返回"null";
3.如果值為undefined,則返回"undefined"。
- 語句
if語句、do while語句、while語句、for語句、for in語句(可以用來枚舉對象的屬性)等
with語句
例:
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ù)會在執(zhí)行完return語句之后停止并立即退出。因此,位于return語句之后的任何代碼都永遠不會執(zhí)行。
- return語句也可以不帶有任何返回值。在這種情況下,函數(shù)在停止執(zhí)行后將返回undefined值。
- 理解參數(shù)
1.ECMAScript中的參數(shù)在內(nèi)部是用一個數(shù)組來表示的。
2.所以函數(shù)不介意傳遞進來多少個參數(shù),也不在乎傳進來參數(shù)是什么數(shù)據(jù)類型。
3.沒有傳遞值的命名參數(shù)將自動被賦予undefined值。
4.實際上在函數(shù)體內(nèi)可以通過 arguments對象 來訪問這個參數(shù)數(shù)組,從而獲取傳遞給函數(shù)的每一個參數(shù)。
11.++和--
后置自增、自減與前置自增、自減的最大區(qū)別
后置自增、自減操作是在包含它們的語句被求值之后才執(zhí)行
let num1 = 2;
let num2 = 20;
let num3 = num1-- + num2; // 22
let num4 = num1 + num2; // 21