想知道下面這段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