2

在下面提到的代码行上,我有点在点符号和括号符号之间移动。 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;
};
4

1 回答 1

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
于 2012-09-03T23:20:51.357 回答