gpt4 book ai didi

javascript - 哈希 Javascript : Prevent '$bind' generation?

转载 作者:行者123 更新时间:2023-11-30 15:26:04 29 4
gpt4 key购买 nike

有没有一种简单的方法可以在传递类成员函数时防止生成$bind

我有一个对象接受一个函数,该函数将在任意时间间隔内调用。在调用函数之前,对象总是将自己绑定(bind)为“this”绑定(bind)(这是在 native 端完成的),因此不需要调用 $bind 本身。但是,我似乎无法找到一种简单的方法来阻止 $bind 在我按值获取成员函数时被发出。

我发现的唯一方法是将 __js__ 与成员函数名称的字符串文字一起使用,我宁愿避免这样做……有没有一种类型化的方法可以做到这一点?或者更好的东西?一种仍然使用带标识符的 haxe 语法而不是字符串文字的方法?

例子:

private function onSpawn():Void
{
this.setAct( act ); // Will generate JS: this.setAct($bind(this,this.act));
// Id like to simply have it generate: this.setAct( this.act );

// Mitigated like this:
this.setAct( untyped __js__("this.act") );
}

private function act( dt:Float ):Void
{
...
}

谢谢。

最佳答案

您使用宏来屏蔽未类型化的表达式,但这是相当危险的。任何对“this”的引用都将失败。

http://try-haxe.mrcdk.com/#70ee4

顺便说一句,我认为如果函数代码不涉及“this”,编译器可能会优化为不生成 $bind。您可能想在 github 存储库中就此提出问题。

关于javascript - 哈希 Javascript : Prevent '$bind' generation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42952523/

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