我们可以修改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)
但是,原型在这里是未定义的.
我有一个自定义对象,它实现了一个稍后会执行的函数.以下是有人称之为:
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)
在执行应用或调用函数之前,如何修改用户传入的参数?
在Ruby的Test :: Unit中,如何获取当前test_方法的名称?在MiniTest中,这可以通过self.__name__,但它不适用于完整版本.
javascript ×2
callback ×1
dom ×1
html ×1
methods ×1
parameters ×1
ruby ×1
testunit ×1
unit-testing ×1