2.null和undefined
null表示一個“空”的值,它和0以及空字符串''不同,0是一個數值,''表示長度為0的字符串,而null表示“空”。
在JavaScript中,還有一個和null類似的undefined,它表示“未定義”。JavaScript的設計者希望用null表示一個空的值,而undefined表示值未定義。
事實證明,這并沒有什么卵用,區分兩者的意義不大。大多數情況下,我們都應該用null。undefined僅僅在判斷函數參數是否傳遞的情況下有用。
3.strict模式
JavaScript在設計之初,為了方便初學者學習,并不強制要求用var申明變量。
這個設計錯誤帶來了嚴重的后果:如果一個變量沒有通過var申明就被使用,那么該變量就自動被申明為全局變量:
i = 10; // i現在是全局變量
在同一個頁面的不同的JavaScript文件中,如果都不用var申明,恰好都使用了變量i,將造成變量i互相影響,產生難以調試的錯誤結果。
使用var申明的變量則不是全局變量,它的范圍被限制在該變量被申明的函數體內,同名變量在不同的函數體內互不沖突。
為了修補JavaScript這一嚴重設計缺陷,ECMA在后續規范中推出了strict模式,
在strict模式下運行的JavaScript代碼,強制通過var申明變量,未使用var申明變量就使用的,將導致運行錯誤。
啟用strict模式的方法是在JavaScript代碼的第一行寫上:
'use strict';
這是一個字符串,不支持strict模式的瀏覽器會把它當做一個字符串語句執行,支持strict模式的瀏覽器將開啟strict模式運行JavaScript。
來測試一下你的瀏覽器是否能支持strict模式:
'use strict';
// 如果瀏覽器支持strict模式,
// 下面的代碼將報ReferenceError錯誤:
abc = 'Hello, world';
alert(abc);
4.多行字符串--反引號
由于多行字符串用\n寫起來比較費事,所以最新的ES6標準新增了一種多行字符串的表示方法,用反引號 ` ... `(esc下方的鍵) 表示:
`這是一個
多行
字符串`;
5.模板字符串--${變量名}
ES6新增了一種模板字符串,表示方法和上面的多行字符串一樣,但是它會自動替換字符串中的變量:
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}歲了!`;
alert(message);
6.JavaScript把null、undefined、0、NaN和空字符串''視為false,其他值一概視為true.
7.swtich為javascript關鍵字,不可作為函數名使用
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com