小编Sai*_*Sai的帖子

在元素的实例上附加函数

我们可以修改DOM元素并添加到它的原型中.例如,如果我们只想在画布上添加一些东西,我们会做这样的事情:

HTMLCanvasElement.prototype.doSomething = function(arg) { ... };
Run Code Online (Sandbox Code Playgroud)

然后我们可以在canvas元素上执行此操作:

var canvas = document.getElementById('canvasId');
canvas.doSomething(...);
Run Code Online (Sandbox Code Playgroud)

是否可以在不修改HTMLCanvasElement原型的情况下向该画布实例添加/附加函数.我只想要一个画布,其中调用doSomething(...)来访问其他方法,而不是DOM中的所有画布元素.我怎样才能做到这一点?

我在doSomething函数中尝试了以下内容:

this.prototype.foobar = function() {...}
Run Code Online (Sandbox Code Playgroud)

但是,原型在这里是未定义的.

html javascript dom

11
推荐指数
3
解决办法
1万
查看次数

Javascript:在调用它们之前修改回调函数的参数

我有一个自定义对象,它实现了一个稍后会执行的函数.以下是有人称之为:

customObject.onSomething(function(e) {
    // do something with e
    console.log('foobar');
});
Run Code Online (Sandbox Code Playgroud)

以下是onSomething的创建方式:

var CustomObject = function() {
    this.onSomething = function(callback) {
        // If the user passes in parameter(s), how can I modify them before calling?
        callback.apply(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

在执行应用调用函数之前,如何修改用户传入的参数?

javascript parameters callback javascript-events

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

Ruby Test :: Unit的当前测试方法名称

在Ruby的Test :: Unit中,如何获取当前test_方法的名称?在MiniTest中,这可以通过self.__name__,但它不适用于完整版本.

ruby methods unit-testing testunit

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