Javascript 存取器/变异器

Javascript 存取器/变异器,javascript,javascript-objects,Javascript,Javascript Objects,我正在尝试创建一个如下的对象: var DadosUtente = true; var DevolucaoModelo = { get UtNome() { return (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")} }; var DadosUtente = true; var DevolucaoModelo = { UtNome : (DadosUtente) ? $("#UT_Nome") : $

我正在尝试创建一个如下的对象:

var DadosUtente = true;
var DevolucaoModelo = {
get UtNome() { return (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")}
};
var DadosUtente = true;
var DevolucaoModelo = {
    UtNome : (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")
};
如果我更改dadosuntent选择器返回的值也会更改

这在Chrome中正常工作,但是当我用Internet Explorer测试它时,我得到了一个错误,因为浏览器例外

在代码的其余部分,我将访问诸如DevolucaoModelo.UtNome.val()之类的选择器

有人能帮我吗

顺便说一句,我在谷歌搜索过很多次,也尝试过其他解决方案,但在IE中没有成功。

为什么不试试:

var DadosUtente = true;
var DevolucaoModelo = {
    getUtNome : function() { return (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")}
};

更新 如果不想调用函数,请按如下方式执行:

var DadosUtente = true;
var DevolucaoModelo = {
get UtNome() { return (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")}
};
var DadosUtente = true;
var DevolucaoModelo = {
    UtNome : (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")
};
然后像调用DevolucaoModelo.UtNome一样调用它

为什么不试试:

var DadosUtente = true;
var DevolucaoModelo = {
    getUtNome : function() { return (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")}
};

更新 如果不想调用函数,请按如下方式执行:

var DadosUtente = true;
var DevolucaoModelo = {
get UtNome() { return (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")}
};
var DadosUtente = true;
var DevolucaoModelo = {
    UtNome : (DadosUtente) ? $("#UT_Nome") : $("#Equipamento_Nome")
};

然后像
DevolucaoModelo.UtNome

那样调用它,它是JavaScript吗?JavaScript没有
get
关键字。IE中不支持JavaScript getter和setter;看:@Justin哦,我不知道JavaScript的getter和setter。谢谢你的链接。是JavaScript吗?JavaScript没有
get
关键字。IE中不支持JavaScript getter和setter;看:@Justin哦,我不知道JavaScript的getter和setter。谢谢你的链接。因为我正在寻找一个不需要打电话的替代解决方案function@guilhermeGeek:访问器和变异器是函数。只需使用一个函数。这会帮你省去悲伤,没有理由不这么做。如果你把“dadosuntent”改为false,那么不管怎样,对象都会继续返回$(“#UT#Nome”)。我将改用函数,谢谢;)@Guilhermeek:如果它在第一次执行后应该更改,当然你需要函数。是的,它在第一次执行后会更改。我想我太习惯C了,我真的需要更好地了解JS。感谢所有的回复;)因为我在寻找一个不需要打电话给function@guilhermeGeek:访问器和变异器是函数。只需使用一个函数。这会帮你省去悲伤,没有理由不这么做。如果你把“dadosuntent”改为false,那么不管怎样,对象都会继续返回$(“#UT#Nome”)。我将改用函数,谢谢;)@Guilhermeek:如果它在第一次执行后应该更改,当然你需要函数。是的,它在第一次执行后会更改。我想我太习惯C了,我真的需要更好地了解JS。感谢所有的回复;)