javascript-在类内引用方法
我有一个用于渲染自定义范围滑块的类。在类中,我需要引用鼠标移动事件触发的方法。因为我需要删除mouseup上的事件侦听器,所以我必须引用它 类的结构如下所示:javascript-在类内引用方法,javascript,class-method,Javascript,Class Method,我有一个用于渲染自定义范围滑块的类。在类中,我需要引用鼠标移动事件触发的方法。因为我需要删除mouseup上的事件侦听器,所以我必须引用它 类的结构如下所示: class RangeSlider { constructor(..){ ... } setRangeValue = () => { ... } } 我在各种浏览器中都能正常工作,但我在错误日志中注意到一些用户出现错误: SyntaxError: Unexpected
class RangeSlider {
constructor(..){
...
}
setRangeValue = () => {
...
}
}
我在各种浏览器中都能正常工作,但我在错误日志中注意到一些用户出现错误:
SyntaxError: Unexpected token '='. Expected an opening '(' before a method's parameter list.
我真的不知道什么地方会出错,因为一般来说,我没有机会亲自检查它,因为对于我来说,在所有浏览器中它都可以正常工作。是否有其他方法可以引用它,以便在鼠标向上移动时删除事件侦听器?TL;DR
class RangeSlider {
constructor(..){
...
}
setRangeValue {
...
}
}
您现在可以做什么
class-Foo{
someFunction(){
...
}
}
prototype
继承class-Foo{
...
}
Foo.prototype.bar=函数(){
...
}
解释
class-Foo{
条=()=>{}
}
上面的代码片段在类Foo
中创建了一个名为bar
的变量,其值是一个匿名函数
现在,您不能在类中声明变量,即不允许使用以下代码
class Foo {
bar = 'baz'
}
自2020年1月23日起,TC39提案中已包含该条款。如果您必须使用它,您可以将它与巴贝尔的插件一起使用。TL;DR
class RangeSlider {
constructor(..){
...
}
setRangeValue {
...
}
}
您现在可以做什么
声明如下:
class-Foo{
someFunction(){
...
}
}
使用prototype
继承
class-Foo{
...
}
Foo.prototype.bar=函数(){
...
}
解释
class-Foo{
条=()=>{}
}
上面的代码片段在类Foo
中创建了一个名为bar
的变量,其值是一个匿名函数
现在,您不能在类中声明变量,即不允许使用以下代码
class Foo {
bar = 'baz'
}
自2020年1月23日起,TC39提案中已包含该条款。如果您必须使用它,您可以将其与babel的插件一起使用。您使用的语法非常新,因此不受任何地方的支持(可能不会有太大变化,例如IE将不再更新)。这是一种全新的语法,因此大多数浏览器都不支持它。这是否回答了您的问题?您使用的语法非常新,因此不受任何地方的支持(可能不会有太大变化,例如IE将不再更新)。这是一种全新的语法,因此大多数浏览器都不支持它。这是否回答了您的问题?