gpt4 book ai didi

JavaScript “Not a Constructor” 异常

转载 作者:行者123 更新时间:2023-11-28 18:40:17 25 4
gpt4 key购买 nike

我有以下代码:

class Circle
constructor: (@center, @radius, @color) ->

@Red: (@center, @radius) ->
new @ center, radius, 'red'

class Point
constructor: (@x, @y) ->

我可以像这样创建红色圆圈:red_circle = Circle.Red(new Point(0,0), 10)

但是以下代码不起作用:

obj = Circle.Red
red_circle = obj(new Point(0,0), 10)

我做错了什么?

最佳答案

Circle.Red(...)this (@) 设置为 Circle;所以new @ = new Circle

obj(...) 未设置 this,因此 new @ 正在对某些内容调用 new否则(取决于上下文)。

您可以通过绑定(bind)来解决此问题:obj = Circle.Red.bind(Circle)

关于JavaScript “Not a Constructor” 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36216440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com