4

我听说 UnityScript 非常接近 JavaScript。UnityScript 是否支持 JavaScript 的 Object Literal 语法?

例如

var x = {
    y: 12
};

奇怪的是,在 google 上搜索并UnityScript "Object Literal"没有产生有用的结果。

4

1 回答 1

7

UnityScript 与 JavaScript具有非常不同的语义。

使用此语法在 Unity 中创建新的 JavaScript 文件将无法编译。

#pragma strict

var x = {
    y: 12 // error: BCE0005
};

function Start () {
   Debug.Log (x.y); // error: BCE0019
}

这将产生构建错误:

NewBehaviourScript(4,5):BCE0005:未知标识符:'y'。
NewBehaviourScript(8,17):BCE0019:“y”不是“Boo.Lang.Hash”的成员。

但是,您可以实现Hashtable

#pragma strict

var x:Hashtable = new Hashtable();
x["y"] = 12;

function Start () {
   Debug.Log (x["y"]);
}
于 2012-11-15T04:55:20.577 回答