javascript - haxe未初始化成员变量跨平台不一致

标签 javascript flash porting haxe static-initialization

我正在尝试使用 openfl 和 haxe 将用 haxe 编写的现有 Flash 应用程序交叉编译为 javascript。

在闪光灯下我可以执行以下操作:

class foo
{
    var bar : Int;

    public function new()
    {
        trace(bar); //under flash prints 0, under javascript undefined
    }
}

当编译为 javascript 而不是 0 时,我得到 Undefined。

我的问题是,如果构造函数未初始化成员变量,我是否可以使编译打印警告/错误。

更好的是,我可以制作 haxe 我制作它,这样 haxe 就会在 js 中为我将它们初始化为 0。

与 Bool = false、Float = 0 等情况相同,我没有测试过,但也可能使用 Object = null。

该应用有 144 个类和超过 20k 行代码。手动查找和添加显式初始化程序将花费大量时间,这就是我寻找替代方案的原因。

最佳答案

你为什么不这样做: var bar:Int = 0; 除非你有一个真正重要的特定情况(我已经遇到过),否则这不应该是一个大问题:)

关于javascript - haxe未初始化成员变量跨平台不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24215026/

相关文章:

javascript - 如何使用 jQuery 在悬停时显示绝对定位的同级 div?

c++ - 创建一个 C/C++ 应用程序(使用 Xlib)来渲染 SWF 文件

c - Makefile 在 Windows 中正确执行,但在 Linux 中不正确

c++ - 如何将处理器速度的汇编代码移植到 Visual Studio 2008

javascript - 如何将字符串变量传递给 JavaScript 函数并使用它来获取元素

javascript - Google Charts 不显示数据

flash - 嵌入字体并在 Flash 中正确显示的问题

flash - 在 AS3 中更改 TextField 选择颜色

c - 什么是 LPTSTR 和 LPCSTR 的 Linux 等价物?

javascript - AngularJS $rootScope.$on 在迁移到 Angular2 的上下文中的替代方案