想知道下面这段JavaScript代码中“:”(冒号符号)是什么意思?这个Javascript代码“var switchToTarget:Transform;”上的“:”(冒号符号)是什么意思?
var switchToTarget : Transform;
感谢, 吉诺
想知道下面这段JavaScript代码中“:”(冒号符号)是什么意思?这个Javascript代码“var switchToTarget:Transform;”上的“:”(冒号符号)是什么意思?
var switchToTarget : Transform;
感谢, 吉诺
编辑:阅读更多关于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中的冒号只有几个用途:
的object literal语法:
var obj = { foo: 'bar' };
var test = condition ? 'foo' : 'bar';
loop1: while (true) {
while (true) {
break loop1; // stop outer loop
}
}
案例和违约条款:
switch (value) {
case "foo":
//..
break;
default:
//..
break;
}
它可以在RegExp literals出现:
var re = /(?:)/; // non-capturing group...
我不知道这是否是标准的JavaScript的一部分,但它声明一个变量的类型。
var myVar:Type;
在JavaScript中的那个味道
将等同于这几种强类型语言:
Type myVar;
它的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
我想说这是更多的ECMAScript的衍生物。 – alex 2010-06-23 05:07:02
正则表达式文字怎么样? ;) – 2010-06-23 04:54:55
@Matthew:是的,也是'switch'语句的'case' /'default'子句:) – CMS 2010-06-23 05:54:23
然后你还需要提到“字符串litarals”和“注释文字”。 ;-) – Gumbo 2010-06-23 06:05:55