2019-04-17
標識符
與java基本相同
JS關(guān)鍵字:
| break | case | catch | continue | default |
| do | else | finally | for | function |
| if | in | instanceof | new | return |
| switch | this | throw | try | typeof |
| var | void | while | with |
JS保留字:
| abstract | boolean | byte | char | class |
| const | debugger | double | enum | export |
| extends | final | float | goto | implements |
| import | int | interface | long | native |
| package | private | protecter | public | short |
| static | super | synchronized | throws | transient |
| volatile |
字面量
整型字面量
可以使用十進制、八進制(前面加0)和十六進制(前面加0x或0X) 表示。
實型字面量
由整數(shù)部分加小數(shù)部分表示,如12.32,193.98, 3.14e2。
布爾型字面量
只有兩種狀態(tài):true或false。
字符型字面量****(****字符串****)
使用單引號(')或雙引號(")括起來字符。如"hello", " 1234"等。
變量
1.使用var聲明變量
var 變量名;
聲明變量時可以進行初始化,其值可以為任意類型。若無初值會自動初始化為undefined(未定義)值。
用var聲明的變量不存在塊級作用域
2.使用let聲明變量
let 變量名;
變量必須先聲明被使用
let聲明的變量具有塊級作用域,即只在let命令所在的代碼塊內(nèi)有效。
3.使用const聲明變量
const 變量名;
const聲明一個只讀常量。一旦聲明,常量的值就不能改變。
const聲明變量必須立即初始化,不能留到以后賦值。
const的作用域與let命令相同:只在聲明所在的塊級作用域內(nèi)有效。
4.變量的命名規(guī)范
與java相同
5.變量數(shù)據(jù)類型
JavaScript是弱類型語言,變量的數(shù)據(jù)類型無需在聲明時指定。變量根據(jù)所賦值的類型來決定自己的類型。
可以使用 "typeof 變量名" 的形式查看變量的數(shù)據(jù)類型。
6.變量的作用域
同一頁面的所有<script>塊屬于同一個全局作用域,塊之間的變量可以共享。
7.變量的特殊類型
undefined:當一個對象屬性不存在或者變量定義后從未賦值時,返回undefined。
null:從Java中借鑒過來,表示空值。當一個變量沒有保存有效的數(shù)據(jù)時或?qū)ο蟛淮嬖跁r,都返回null??梢酝ㄟ^給一個變量賦 null 值來清除變量的內(nèi)容。
運算符
1.算數(shù)運算符
/ (除法):不會砍掉小數(shù),并且用0作除數(shù)會產(chǎn)生特殊值Infinity
** 求冪: a**b
數(shù)字字符串 – 數(shù)值 = 數(shù)值
數(shù)字字符串 + 數(shù)值 = 數(shù)字字符串
其他運算符與java相同。
2.關(guān)系運算符
| 運算符 | 說明 |
|---|---|
| = = | 等于 |
| != | 不等于 |
| < | 小于 |
| > | 大于 |
| <= | 小于或等于 |
| >= | 大于或等于 |
| = = = | 完全相同 |
| != = | 不完全相同 |
如果兩個運算數(shù)分別為數(shù)值和字符串,則將字符串轉(zhuǎn)換為數(shù)值進行比較,如果字符串不能轉(zhuǎn)換為數(shù)值,則轉(zhuǎn)換為NaN,運 算結(jié)果為false。操作數(shù)有一個是NaN,運算結(jié)果皆為false。
===運算符不會進行自動類型轉(zhuǎn)換,所比較的操作數(shù)必須是同一類型的數(shù)據(jù)。像3==="3"結(jié)果為false。
3.邏輯運算符
? 邏輯運算符的操作數(shù)類型不僅可以為布爾數(shù),任何表達式都可作為操作數(shù)。在運算過程中操作數(shù)將會被轉(zhuǎn)換為布爾型數(shù)據(jù)。
4.賦值運算
與java相同
數(shù)據(jù)類型轉(zhuǎn)換
1.自動類型轉(zhuǎn)換
| 表達式 | 類型轉(zhuǎn)換的處理 |
|---|---|
| 數(shù)字和字符串相加 | 數(shù)字強制轉(zhuǎn)換成字符串 |
| 布爾和字符串相加 | 布爾值強制轉(zhuǎn)換成字符串 |
| 布爾和數(shù)字相加 | 布爾值強制轉(zhuǎn)換成數(shù)字 |
布爾值true轉(zhuǎn)成字符串時為"true",數(shù)字為1,值false轉(zhuǎn)換成字符串時為"false",數(shù)字為0。
2.強制轉(zhuǎn)換
window.parseInt():將字符串中的整數(shù)部分作為返回值
window.parseFloat():將字符串中的浮點數(shù)部分作為返回值。
注意:如果字符串存在非數(shù)字,parseInt和parseFloat會發(fā)生截斷;
以非數(shù)字開頭的字符串,將直接返回NaN。可以使用isNaN函數(shù)進行非數(shù)值判斷。
輸入與輸出
| 函數(shù)名 | 作用 |
|---|---|
| window.alert | 彈出消息提示框 |
| document.write | 將內(nèi)容直接輸出在網(wǎng)頁上 |
| console.log | 瀏覽器控制臺調(diào)試輸出 |
| window.prompt | 用于輸入內(nèi)容并返回。如果用戶點擊確認,那么返回值為輸入的值。如果用戶點擊取消,那么返回值為null。 |
| window.confirm | 彈出確認框 |