在for循环中遍历javascript对象

时间:2011-01-18 12:30:37

标签: javascript object

我想引用对象本身内的一个对象。以下是不对的,我知道。但是正确的方法是什么?

当谷歌搜索这些问题时,搜索的关键词是什么?

for (var key in eName) {
       var obj = eName[key];
       eName[key] = {
        type: 'id',
        name: obj.substr(1),
        html: this.type + '="' + this.name +'"'  //<--- here

       }
    }

4 个答案:

答案 0 :(得分:2)

尝试使用class的JS等效代码:

for (var key in eName) {
    var obj = eName[key];
    eName[key] = new CustomElement(obj);
}

...

function CustomElement(strData) {
    this.type = "id";
    this.name = strData.substr(1);
    this.html = this.type + '="' + this.name +'"';
}

答案 1 :(得分:1)

用于Javascript的

The this keyword可能有助于您了解this的真正含义。您可能必须将其作为对象传递给函数。

答案 2 :(得分:0)

试试这个:

for (var key in eName) {
       var obj = eName[key];
       eName[key] = {
        type: 'id',
        name: obj.substr(1),
        html: ''  //<--- here

       }
eName[key].html = eName[key].type + '="' + eName[key].name +'"'

    }

答案 3 :(得分:0)

for (var key in eName) {
       var obj = eName[key];
       eName[key] = {
        type: 'id',
        name: obj.substr(1),
        html: function() { return this.type + '="' + this.name +'"' }

       }
    }

然后你会使用eName [key] .html()