在我的 index.html 上,我有这段代码,
$(document).ready(function() {
var self = this;
var submit = function() {
alert("Test");
}
const form = new Form(self.submit);
})
在我的 Form.js 中,我有这段代码,
class Form() {
constructor(func) {
var self = this;
// ...
$("submitBtn").click(function(e) {
e.preventDefault();
self.func();
});
// ...
}
}
为什么我的函数在点击 submitBtn 后没有执行? 我用自己来获得“这个”值。我不能使用“new Form(self.submit())”,因为它会在读取该行后执行该函数。
最佳答案
您的submit
函数是一个局部变量,不是this
的属性。因此你需要:
const form = new Form(submit);
同样,在你的构造函数中,func
与self
没有任何关系;应该是
func();
关于javascript - 将函数传递给 javascript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41945480/