在运行时向Javascript对象添加属性
假设我在javascript中有这个函数在运行时向Javascript对象添加属性,javascript,jquery,internet-explorer,invokescript,Javascript,Jquery,Internet Explorer,Invokescript,假设我在javascript中有这个函数 function EstablishUserSession(params) { gecResult = "noResult"; params["callbackOnSuccess"] = Success; params["callbackOnException"] = Exception; controller.establishUserSessionIAPI
function EstablishUserSession(params) {
gecResult = "noResult";
params["callbackOnSuccess"] = Success;
params["callbackOnException"] = Exception;
controller.establishUserSessionIAPI(params);
return "requestSent";
}
params是通过HtmlDocument.InvokeScript传入的对象。。看起来像这样
{ iapiUri: "dfdfdsf", language: "en", partnerUsername: "ddddd", integrationPartnerId: 1, cleartextPassword: "dddd"}
上述产品在铬合金和FFox中效果良好。在IE8中不起作用。我获取的对象不支持属性或方法
function EstablishUserSession(params) {
gecResult = "noResult";
jQuery.extend(params, { callbackOnSuccess: Success, callbackOnException: Exception });
controller.establishUserSessionIAPI(params);
return "requestSent";
}
然后我改为Jquery.extend。。。在铬合金和FFox中工作良好。在IE8中不起作用
是否有人知道如何正确扩展对象以添加如上所述的属性
注意:成功和异常只是回调您可以使用对象的新副本
var newParams = $.extend({ newProp : value}, oldParams);
这在Chrome中又起作用了。。。现在来试试。。手指交叉你是否尝试在新对象上迭代“手动”将每个key:value添加到旧对象?这将是我最后的选择。。。我希望这是一个通用的框架。这些参数对象可能会变得非常大。。。