这个Javascript代码“var switchToTarget:Transform;”中“:”(冒号)的含义是什么?

时间:2010-06-23 04:43:05

标签: actionscript unity3d

想知道下面这个Javascript代码中“:”(冒号)的含义是什么?

var switchToTarget : Transform;

谢谢, 吉诺

3 个答案:

答案 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中的冒号符号只有几个用法:

  1. Unity Answers语法:

    var obj = { foo: 'bar' };
    
  2. object literal

    var test = condition ? 'foo' : 'bar';
    
  3. conditional operator

    loop1: while (true) {
      while (true) {
        break loop1; // stop outer loop
      }
    }
    
  4. Labeled statements的案例和默认条款:

    switch (value) {
      case "foo":
        //..
      break;
      default:
        //..
      break;
    }
    
  5. 它可以显示在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;