相关疑难解决方法(0)

如何使用ES6类扩展函数?

ES6允许扩展特殊对象.所以可以从函数继承.这样的对象可以作为函数调用,但是如何实现这种调用的逻辑呢?

class Smth extends Function {
  constructor (x) {
    // What should be done here
    super();
  }
}

(new Smth(256))() // to get 256 at this call?
Run Code Online (Sandbox Code Playgroud)

类的任何方法都可以通过引用类实例this.但是当它被称为函数时,this指的是window.当作为函数调用时,如何获取对类实例的引用?

PS:俄语同样的问题.

javascript inheritance function ecmascript-6 javascript-inheritance

93
推荐指数
4
解决办法
2万
查看次数

JavaScript中可调用对象的构造方法

如何在JavaScript中为可调用对象创建构造函数?

我尝试了各种各样的方式,比如跟随.这个例子只是缩短了实际对象的例子.

function CallablePoint(x, y) {
    function point() {
        // Complex calculations at this point
        return point
    }
    point.x = x
    point.y = y
    return point
}
Run Code Online (Sandbox Code Playgroud)

这工作在第一,但它创建的对象不是实例CallablePoint,因此它不会从复制的属性CallablePoint.prototype,并说falseinstanceof CallablePoint.是否可以为可调用对象创建工作构造函数?

javascript constructor callable

11
推荐指数
1
解决办法
7372
查看次数

使对象不可调用

在JavaScript中,函数是可调用的.

我可以从函数中删除此属性,只留下一个普通对象吗?

var foo = function () {};
foo.[[callable]] = false; // pseudocode
foo(); // "foo is not a function"
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
588
查看次数