。 notaion vs. []表示法插入文本对象

时间:2012-09-03 23:17:19

标签: javascript

我在下面提到的代码行上的点表示法和括号表示法之间移动。 JavaScript - The Good Parts建议默认使用点表示法。

如何更新此代码以使用点表示法。请注意,form_elements包含表单输入名称作为有效JavaScript标识符的键(它们仅使用字母数字字符)。

根据JavaScript - The Good Parts,这意味着它们可以与点符号一起使用。

Su.text = function (form_elements) {
    this.text_object = {};
    var key;
    for (key in form_elements) { //*u
        if (form_elements.hasOwnProperty(key)) {
            this.text_object[form_elements[key].name] = form_elements[key].value; // this line
        }
    }
    return this;
};

1 个答案:

答案 0 :(得分:3)

括号表示法用于在编译时未知的键名,例如在您的情况下。所以你必须在这里使用它。

 aaa.foo  // dot notation, name of the field is "foo"

 aaa[foo] // bracket notation, name of the field is stored in variable foo

您要避免的是

aaa["foo"]  // just ugly, necessary only if the field name is complicated

aaa["space and 123 in there"]   // like here