我有一个JS对象,如下所示:
{
'element1': {
'redirectURI': 'abc.php?toDate=' + encodeURIComponent(jQuery('.dateField1').val())
},
'element2': {
'redirectURI': 'pqr.php?&toDate=' + encodeURIComponent(jQuery('.dateField2').val())
}
};
我需要在使用对象时评估重定向URI索引,即obj['element1']['redirectURI']
或obj['element2']['redirectURI']
时。
如何实现这一点?
现在jQuery('.dateField1').val(),jQuery('.dateField2').val()
取解析此对象时可用的值,日期字段是日期选择器,其值可能会有所不同。
谢谢。
只需使用函数。不要忘记将它们称为函数(稍后使用"()")。
{
'element1': {
'redirectURI': function() { return 'abc.php?toDate=' + encodeURIComponent(jQuery('.dateField1').val());}
},
'element2': {
'redirectURI': function() {return 'pqr.php?&toDate=' + encodeURIComponent(jQuery('.dateField2').val());}
}
};
你为什么不把redirectURI
变成一个函数。这样你就可以做到
obj['element2']['redirectURI']()
'element1':{'redirectURI' : function(){return 'abc.php?toDate='+encodeURIComponent(jQuery('.dateField1').val())}}
编辑:正如您在评论中询问的那样,我尝试了自调用
var obj = {
'element1':{'redirectURI' : (function(){return 'hello'})()}
};
console.log(obj['element1']['redirectURI']);
以及它在这种情况下的工作