我想引用对象本身内的一个对象。以下是不对的,我知道。但是正确的方法是什么?
当谷歌搜索这些问题时,搜索的关键词是什么?
for (var key in eName) {
var obj = eName[key];
eName[key] = {
type: 'id',
name: obj.substr(1),
html: this.type + '="' + this.name +'"' //<--- here
}
}
答案 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)
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()