[英]How can I use a class method as onclick handler in JavaScript?
[英]Can I use a function expression as class method in javascript?
我期待 javascript 中的一个具体问题。
我想使用 function 表达式作为 class 方法,但我不知道是否可能。 我尝试查看有关它的任何文档,但没有找到...这是一个示例:
class TourIdentifier extends HttpClient {
constructor(baseURL, langCode, ...attr) {
super({
baseURL,
headers: {
lang: langCode
}
});
this.model.init(...attr);
}
model = function init(...attr) {
this.tours_identifiers_identifier = attr[0];
this.tours_id = attr[1];
this.lang_code = attr[2];
this.tours_id_ = attr[3];
this.tours_identifiers_id = attr[4];
}
...
我知道有很多方法可以做到这一点,但我只是有这个问题,我希望任何在 JS 方面比我更有经验的人都可以分享他们的知识。
我很欣赏你的评论!
此致!
这是您需要了解的有关MDN类中的方法定义的所有信息,但这是我的一些解释:
基本上你正在尝试在一个类中定义一个方法(这需要给这个方法一个名称),然后为它分配一个命名的 function 。 这将起作用,但您将无法使用函数名称调用 class 的方法,但您可以使用方法名称来执行此操作。
假设您有一个 object 和一个单独的 function:
function func() {return 'Hello'}
const obj = {};
并且您想将 function 分配给您将执行的对象属性之一:
obj.myFunction = func;
从现在开始,您将像这样从 object 调用 function:
obj.myFunction();
但是我们当然可以在对象的声明中分配 function :
function func() {return 'Hello'};
const obj = {
myFunction: func
}
你仍然会像这样从 object 中调用 function:
obj.myFunction();
你可以在对象的声明中声明命名的功能:
const obj = {
myFunction: function func() {return 'Hello'}
}
你仍然会像这样从 object 中调用 function:
obj.myFunction();
所以我希望你明白我要去哪里......同样的事情可以应用于类,因为我们知道它们只是糖语法:) 总之这是可能的,但 function 的名称不会有用.
class foo { constructor() { //something } method = function init() { console.log('init 1'); } } const fooInstance = new foo(); fooInstance.method();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.