Вы не можете получить this
при создании экземпляра. Вы можете сделать:
Type= {
Container: $get('ctl00_Main_rbtnlst_Type'),
Local: function(){return this.Container.getElementsByTagName('input');},
Foreign: function(){return this.Container.getElementsByTagName('input');}
}
И позже получить местный или иностранный, используя Type.Local()/Type.Foreign()
или используйте этот избыточный шаблон, если вам нужен локальный / внешний в экземпляре:
Type= {
Container: $get('ctl00_Main_rbtnlst_Type'),
Local: $get('ctl00_Main_rbtnlst_Type')
.getElementsByTagName('input');},
Foreign: $get('ctl00_Main_rbtnlst_Type')
.getElementsByTagName('input');}
}
Или используйте эту немедленно выполненную функцию:
var Type = (function(){
var container = $get('ctl00_Main_rbtnlst_Type'),
local = container.getElementsByTagName('input'),
foreign = container.getElementsByTagName('input');
return {
Container: container,
Local: local,
Foreign: foreign
}
})();
и, чтобы быть полным, вы также можете использовать несколько getters
, но это не будет работать во всех браузерах (особенно не в IE <9) </p>
var Type = {
Container: $get('ctl00_Main_rbtnlst_Type'),
get Local() {return this.Container.getElementsByTagName('input');},
get Foreign() {return this.Container.getElementsByTagName('input');}
}
примечание : Local
и Foreign
одинаковы, это то, что вы хотели?