我想交叉編譯使用openfl和haxe編寫的haxe到JavaScript的現有的Flash應用程序。haxe未初始化的成員變量跨平臺不一致
在閃光,我可以做到以下幾點:
class foo
{
var bar : Int;
public function new()
{
trace(bar); //under flash prints 0, under javascript undefined
}
}
當編譯爲JavaScript,而不是0,我得到了一個未定義。
我的問題是我可以讓編譯打印警告/錯誤,如果一個成員變量留下的構造函數初始化。
更妙的是我可以讓haXe的我做起來很haXe的將JS初始化它們對我來說,0
與布爾= FALSE同樣的故事,浮= 0等,我沒有測試過,但可能與對象=也是null。
該應用程序有144個類,超過20萬行代碼。手動查找和添加顯式初始化器需要大量的時間,這就是爲什麼我正在尋找替代品。
這是記錄的行爲:http://haxe.org/manual/types-nullability.html - 基本上在「動態」平臺(JS,Neko,PHP,Python)上,默認值將始終爲空。 @ Nico的回答是正確的 - 當你聲明它時將它初始化爲零,並且你將會安全。 –