- JS雖然是解釋性語言, 但是也有編譯過程, 只不過前一步編譯, 后一步就執(zhí)行
- JS是動(dòng)態(tài)語言, 意味著可以在變量中保存不同類型的值, 意思就是值是有類型之分, 而變量是沒有類型之分的
- 注意不相等和不等是不一樣的, 不相等符號(hào)是
!=或!==, 而不等符號(hào)是>,>=,<,<=, 不等符號(hào)的比較規(guī)則是允許coercion, 就是說是允許強(qiáng)制轉(zhuǎn)換的 - 不等符號(hào)的比較規(guī)則:
(1). 如果不等符號(hào)兩邊都是字符串, 則按照字典序來比較,
例如: 'a'< 'b', 結(jié)果是true, 比較的集合是按照unicode的順序
(2). 如果一個(gè)不是字符串, 兩邊的值都會(huì)強(qiáng)制轉(zhuǎn)換成number來比較,
(3). 例如: 'a' > 41, 'a' < 41, 'a' == 41, 結(jié)果都是false, 因?yàn)槿绻渲幸粋€(gè)不能轉(zhuǎn)化成有效數(shù)字, 那么就變成NaN, 規(guī)范中說明, NaN是大于和小于任何值, 還有NaN不等于任何值包括它本身, 所以才會(huì)有這樣的結(jié)果
- 變量名為字母, 數(shù)字, _, $, 是在傳統(tǒng)的ASCII編碼方式下考慮的, 如果是在非傳統(tǒng)的Unicode下考慮, 情況要復(fù)雜的多
- 保留字和關(guān)鍵字雖然不能用在變量名上, 但是可以用在屬性名上
-
使用嚴(yán)格模式有一個(gè)關(guān)鍵的區(qū)別在于不能隱式的聲明全局變量
Paste_Image.png - 前面必須加分號(hào)否則會(huì)引起歧義的五個(gè)符號(hào), '+', '-', '/', '()', '[]', 因?yàn)?+'會(huì)被認(rèn)為是算術(shù)加法, '-'會(huì)被認(rèn)為是算術(shù)減法, '/'會(huì)被認(rèn)為是算術(shù)除法, '()'會(huì)被認(rèn)為是函數(shù)調(diào)用, '[]'會(huì)被認(rèn)為是對(duì)象屬性訪問
