5

只是想知道下面这段 Javascript 代码中的“:”(冒号)是什么意思?

var switchToTarget : Transform;

谢谢,吉诺

4

3 回答 3

13

编辑:阅读更多关于Unity的信息,他们为他们的脚本引擎创建了一个真正自定义的 JavaScript (1)实现,该实现是经过编译的,并且具有许多强类型功能,它看起来像 ActionScript/ES4,但事实并非如此,该语言称为UnityScript

此实现使用冒号来表示标识符的类型,例如:

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. 对象字面量语法:

    var obj = { foo: 'bar' };
    
  2. 条件运算符:

    var test = condition ? 'foo' : 'bar';
    
  3. 标记语句

    loop1: while (true) {
      while (true) {
        break loop1; // stop outer loop
      }
    }
    
  4. switch 语句的 case 和 default 子句:

    switch (value) {
      case "foo":
        //..
      break;
      default:
        //..
      break;
    }
    
  5. 它可以出现在RegExp 文字上:

    var re = /(?:)/; // non-capturing group...
    
于 2010-06-23T04:48:13.597 回答
4

它是 Adob​​e ActionScript,它是 javascript 的衍生产品。

var switchToTarget : 变换;// 声明 Transform 类型的 var switchToTarget。

var你好:文本=新文本();// 声明 Text 类型的 var hello 并初始化它。

http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/geom/Transform.html

于 2010-06-23T05:04:21.603 回答
1

我不确定它是否是标准 JavaScript 的一部分,但它声明了变量的类型。

var myVar:Type;

在这种风格的 JavaScript 中,这在几种强类型语言中是等价的:

Type myVar;
于 2010-06-23T04:47:12.647 回答