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

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下会报“缺少标识符”