Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在运行时向Javascript对象添加属性_Javascript_Jquery_Internet Explorer_Invokescript - Fatal编程技术网

在运行时向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

假设我在javascript中有这个函数

    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添加到旧对象?这将是我最后的选择。。。我希望这是一个通用的框架。这些参数对象可能会变得非常大。。。