如何在JavaScript中定义实例化函数的行为

otiai10

使用ES2015,我想扩展Function类并将其实例用作可调用函数。

class Foo extends Function {
  // how to wite behavior?
}

let foo = new Foo();

foo();
foo.call();
// this is callable, but no behavior defined

如何foo在其声明中让其具有特定行为?

TJ人群

Function构造函数接受参数

new Function ([arg1[, arg2[, ...argN]],] functionBody)

在这种情况下,您将super使用适当的参数进行调用:

// SNIPPET ONLY WORKS ON ES2015-ENABLED ENVIRONMENTS
"use strict";
class Foo extends Function {
  constructor() {
    super("a", "console.log(a);")
  }
}

let foo = new Foo();

foo("one");
foo.call(null, "two");

现在,在字符串文字中编写JavaScript代码很痛苦,并且函数文本中的代码是在全局范围内进行评估的,因此我们无法执行类似在构造函数中定义实际函数并从函数文本中对其进行调用的操作。因此,这用途有限。但...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript:如何在 Class 语法的构造函数中定义错误以拒绝创建实例?

如何在JavaScript中定义函数?

如何在golang中实例化函数类型?

如何在Haxe宏函数中声明实例化

如何在JavaScript中的函数中定义函数?

如何在JavaScript中实例化多维数组?

如何在JavaScript中实例化File对象?

如何在JavaScript中从字符串实例化类

如何在JavaScript中创建实例的实例

如何在Go中返回通过多个函数调用的函数调用实例化多个变量?

在构造函数原型上定义的方法如何访问Javascript构造函数中的实例成员?

如何在PHP中实例化具有参数化构造函数的.NET类?

如何在javascript中定义私有构造函数?

如何在工厂中为延迟实例化指定具体类/如何延迟构造函数调用

如何在React中的无状态函数组件中初始化类实例?

如何在 cassandra 的 docker 实例中启用用户定义的函数?

如何在系统Verilog中实例化

如何在AndroidX中实例化ViewModel?

如何在Scala中实例化Unit?

类如何在Java中实例化?

如何在MVC中实例化服务

如何在 Unity 中实例化对象?

如何在java中实例化类型

定义地图/集合时,如何实例化比较函数(functor)?

如何在模板函数或类中实例化包含类型的容器的变量?

如何在init函数中实例化一个依赖于self的对象?

如何在C ++中显式实例化模板构造函数?

如何在C#中调用通过Structure Map实例化的类的构造函数

如何在Python 3.x中从字符串实例化函数?