使用name作為變量名(var name = ‘’),在IE中未引起bug,在Chrome中引起bug但未明確指出命名錯誤,而是會報其他錯誤,故不便於發現。
現象原因:
javascript中name既不是保留字,也不是關鍵字,因此用作變量時並不會報錯;但是在Firefox、Safari、Chrome和Opera中都給函數定義了一個非標准的name屬性,通過這個屬性可以訪問到給函數指定的名字,因此在這些瀏覽器中不能使用name作為變量名。
function functionName(arg0, arg1, arg2){
//函數體
}
//只在Firefox、Safari、Chrome和Opera有效
alert(functionName.name); // "functionName"
會報錯或造成一些錯誤的命名
- 保留字
- 關鍵字
- JavaScript對象、屬性和方法
- Java保留關鍵字(Java可以和JavaS一起使用)
- Windows保留關鍵字
- HTML事件句柄
- 非標准JavaScript
具體內容請看:http://www.runoob.com/js/js-reserved.html