javascript中的name以及关键字

本文探讨了使用name作为JavaScript变量名时在不同浏览器中遇到的问题,解释了name作为窗口全局属性的特殊性,并列出了JavaScript的关键字与保留字,避免变量名冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做表单验证时,将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.如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值