相关疑难解决方法(0)

JavaScript:覆盖警报()

有没有人有过覆盖alert()JavaScript函数的经验?

  • 哪些浏览器支持这个?
  • 哪个浏览器版本支持此功能?
  • 覆盖功能有哪些危险?

javascript overriding

206
推荐指数
6
解决办法
9万
查看次数

在引用原始函数时覆盖JavaScript函数

我有一个函数,a()我想要覆盖,但也有原始a()的顺序执行,具体取决于上下文.例如,有时当我生成页面时,我想要覆盖如下:

function a() {
    new_code();
    original_a();
}
Run Code Online (Sandbox Code Playgroud)

有时像这样:

function a() {
    original_a();
    other_new_code();
}
Run Code Online (Sandbox Code Playgroud)

我如何original_a()在超越范围内获得这一点a()?它甚至可能吗?

请不要以这种方式建议替代方法,我知道很多.我特意问这个问题.

javascript overriding user-defined-functions

155
推荐指数
4
解决办法
19万
查看次数

JavaScript覆盖方法

假设你有以下代码:

function A() {
    function modify(){
       x = 300;
       y = 400;
    }
    var c = new C();
}

function B() {
    function modify(){
       x = 3000;
       y = 4000;
    }
    var c = new C();
}


C = function () {
   var x = 10;
   var y = 20;

   function modify() {
      x = 30;
      y = 40;
   };

   modify();
   alert("The sum is: " + (x+y));
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是,如果有任何方法,我可以modify使用A和B中的方法覆盖C中的方法.在Java中,您将使用super关键字,但是如何在JavaScript中实现类似的功能呢?

javascript oop overriding

73
推荐指数
3
解决办法
12万
查看次数

装饰原型并调用父函数

我正在尝试装饰一些对象,例如:

Object.prototype.someFunc = function(x) {
  if (x == 1) {
      return x;
  } 

  return super.someFunc() // <-- ? 
}
Run Code Online (Sandbox Code Playgroud)

如何在第二个 return 语句上调用我要重写的函数?

javascript

6
推荐指数
1
解决办法
2333
查看次数

重写节点 eventEmitter.on 并关闭日志记录不起作用

我正在尝试找出 SPA 中的一个问题,即某个事件被触发太多次。考虑到这一点,我想重写节点的eventEmitter.on函数来添加一些登录,然后调用原始函数。这让我在/sf/answers/729943021/上找到了关于覆盖的答案window.alert,我想出了以下代码:

// Ignore `state` here but it essentially means I can access `eventEmitter` all over my app.
var EventEmitter = ('events')   
state.eventEmitter = new EventEmitter()
state.eventEmitter.on = (function (original) {
    return function (name, callback) {
        console.log('On Called for %s', name)
        original(name, callback)
    }
})(state.eventEmitter.on)
Run Code Online (Sandbox Code Playgroud)

这不起作用。该事件根本没有触发,我在控制台中没有看到任何内容。

我究竟做错了什么?

注意:我还有其他方法可以追踪我的原始问题,但我很感兴趣为什么上面的代码不起作用。

javascript closures node.js eventemitter

1
推荐指数
1
解决办法
1658
查看次数