Я хочу сослаться на объект внутри самого объекта.Следующее не правильно, я знаю.Но как выбрать правильный путь?
И когда вы будете искать такие проблемы, какие ключевые слова следует искать?
Попробуйте использовать эквивалент JS для class вместо:
class
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 +'"'; }
The this keyword для Javascript может помочь вам понять, что на самом деле означает this.Возможно, вам придется передать его как объект функции.
The this keyword
this
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 ()
Попробуйте это:
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 +'"' }