javascript关键字解析
javascript关键字
做表单验证时,将name命名为变量“var name=document.getelementbyid("name");”,用谷歌打开页面,还未输入文本时检测用户名输入文本长度,应该长度为0的,但是发现没有什么卵用,将变量名改为name1之后就好了。
这让身为小白的我很好奇,经过查找资料发现name具有特殊之处,它不是javascript的关键字,也不是保留字(保留字在某种意思上是为将来的关键字而保留的单词,因此保留字也不能被用作变量名或函数名),页面在ie浏览器上运行正常,但是safari,chrome,firefox和opera这些浏览器都给函数定义了一个非标准的name属性,是window的自带全局属性,所以在全局声明name变量名会出现访问异常问题。
解决了我的问题,顺便查阅了js的关键字以及保留字,整理如下。
// javascript的关键字
break case catch continue default delete do
else finally for function if in instanceof
new return switch this throw try typeof
var void while with
/* javascript的保留字 */
abstract boolean byte char class const debugger double
enum export extends final float goto implements
import int interface long native package private
protected public short static super synchronized
throws transient volatile
注意:
1.如果把关键字用作变量名或函数名,可能得到诸如 "identifier expected"(应该有标识符、期望标识符)这样的错误消息;
2.如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。