jQuery源码分析——关键字或保留字作为对象属性时必须加引号,调用该属性时也只能使用[]调用,不可用.来调用

今天读jquery(1.8b1)源码时,其中propFix对象中定义了一些特殊的属性映射关系,其中for,class两个属性单独使用引号括起来,感到很奇怪,测试了下,若不加引号,在神奇的IE下会报“缺少标识符”。

js对象中属性为关键字或保留字时若不加引号在IE下会报js错误。


测试用例如下:

var propFix = {

tabindex: "tabIndex",
readonly: "readOnly",
'for': "htmlFor", //< for,class不加引号的话在ie下会报“缺少标识符”
'class': "className",
maxlength: "maxLength",
cellspacing: "cellSpacing",
cellpadding: "cellPadding",
rowspan: "rowSpan",
colspan: "colSpan",
usemap: "useMap",
frameborder: "frameBorder",
contenteditable: "contentEditable"
};

alert(propFix['for']);
alert(propFix.for); //在IE下会报“缺少标识符”

你可能感兴趣的:(jquery)