Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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_Google Chrome Extension - Fatal编程技术网

修改现有的嵌套JavaScript函数

修改现有的嵌套JavaScript函数,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,假设网页从外部JavaScript文件加载了以下代码: (function(foo) { function bar() { // Do something } function baz() { // Do something else } })(window, window.jQuery); 为了参数起见,假设我正在编写一个chrome扩展,它将加载我创建的脚本,并对一些现有代码进行更改;可能会更改条功能,但不会更改baz。我可

假设网页从外部JavaScript文件加载了以下代码:

(function(foo) {
    function bar() {
        // Do something
    }

    function baz() {
        // Do something else
    }
})(window, window.jQuery);
为了参数起见,假设我正在编写一个chrome扩展,它将加载我创建的脚本,并对一些现有代码进行更改;可能会更改
功能,但不会更改
baz
。我可以复制所有现有代码,进行更改,并在阻止原始代码后加载修改后的JavaScript,但如果可以避免的话,我不想这样做

有没有一种方法可以修改现有嵌套函数的行为,而不必加载修改后代码的整个副本?

没有

这是一个立即调用的匿名闭包:

(function() {
  // stuff
})();
专门用于对全局命名空间隐藏内部内容。一旦代码完成执行,就没有可以访问其内部内容的引用


因此,您阻止脚本并提供完整副本的计划似乎是您唯一能做的。

我理解。谢谢你澄清这一点。