想知道下面这个Javascript代码中“:”(冒号)的含义是什么?
var switchToTarget : Transform;
谢谢, 吉诺
答案 0 :(得分:13)
编辑:了解有关Unity的更多信息,他们为脚本创建了一个真正的自定义 JavaScript (1)实现引擎,编译并且它有很多强类型功能,它看起来像ActionScript / ES4,但它不是,语言被称为{{3} }。
此实现使用冒号来表示标识符的类型,例如:
class Person{
var name : String;
function Person(n : String){
name = n;
}
function kiss(p : Person){
Debug.Log(name + " kissed " + p.name + "!");
}
}
另见:
您发布的代码无效ECMAScript 3(这是最广泛实施的标准),只会给您一个SyntaxError
。
JavaScript中的冒号符号只有几个用法:
var obj = { foo: 'bar' };
var test = condition ? 'foo' : 'bar';
loop1: while (true) {
while (true) {
break loop1; // stop outer loop
}
}
Labeled statements的案例和默认条款:
switch (value) {
case "foo":
//..
break;
default:
//..
break;
}
它可以显示在switch statement:
var re = /(?:)/; // non-capturing group...
答案 1 :(得分:4)
这是Adobe ActionScript,它是javascript的衍生物。
var switchToTarget:Transform; //声明类型为Transform的var switchToTarget。
var hello:Text = new Text(); //声明类型为Text的var hello并初始化它。
http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/geom/Transform.html
答案 2 :(得分:1)
我不确定它是否是标准JavaScript的一部分,但它声明了变量的类型。
var myVar:Type;
这种JavaScript的风格在几种强类型语言中等同于此:
Type myVar;