1、function test()
{
var message = "hi"; //局部變數
}
test();
alert(message); //錯誤!function test()
{
message = "hi"; //全域變數 省略var操作符,建立了一個全域變數
}
test();
alert(message); // "hi"
但不推薦上面全域變數的寫法,不易維護。
2、未初始化和未聲明的變數執行typeof操作符都返回了“undefined”值。未初始化的變數會自動被賦予undefined值,但推薦顯式地初始設定變數,因為當typeof操作符返回
“undefined”值時,便可清楚的知道是變數未聲明。
3、switch語句在比較值時使用的是全等操作符,因此不會發生類型轉換(例如,字串"10"不等於數值10)
4、函數參數
5、
6、建立Object執行個體的方式有兩種。第一種是使用new操作符,如下:
var person = new Object();
person.name = "Shrek"
person.age = 100;第二種方式叫對象字面量標記法,用於簡化建立包含大量屬性的對象過程。屬性與值與冒號分隔,屬性間用逗號分隔,最後一個屬性不加逗號。
var person = {
name : "Shrek",
age : 100
};
7、JavaScript除可以使用點標記法訪問對象屬性,也可以使用方括弧標記法來訪問對象的屬性。在使用方括弧文法時,應該將要訪問的屬性
以字串的形式放在方括弧中。如:alert(person["name"]); 相當於 alert(person.name);
功能上看二者無區別,但如果屬性名稱中包含會導致語法錯誤的字元,或屬性名稱使用的是關鍵字或保留字,可以使用方括弧標記法。
如:person["first name"] = "Shrek";
除非必須使用變數來訪問屬性,否則建議使用點標記法。
8、數組的length不是唯讀,可以通過設定這個屬性,從數組的末尾移除項或向數組中添加新項。減小length屏蔽掉的末尾項或增大length增加的新項都是undefined。
利用length屬性也可以方便地在數組末尾添加新項,如下:
var colors = {"red", "blue", "green"};
colors[colors.length] = "black";
colors[colors.length] = "brown";數組最多可以包含4 294 967 295個項。