Переменные, объявленные с помощью : вместо =

Может кто-нибудь объяснить разницу в Javascript между:

var x = something

а также

var x : something

Я понятия не имею, где/как искать об этом.

Я видел приведенный выше код внизу страницы 4 этого документа: http://download.unity3d.com/support/Tutorials/2%20-%20Scripting%20Tutorial.pdf

Заранее спасибо!


person Saturnix    schedule 01.11.2012    source источник
comment
Я думаю, вы имеете в виду свойства объекта, да?   -  person Brad    schedule 02.11.2012
comment
См. здесь: Что делает ':' в JavaScript?   -  person Robert Harvey    schedule 02.11.2012
comment
нет, см. здесь страницу 4 этого документа внизу. download.unity3d.com/support/Tutorials/   -  person Saturnix    schedule 02.11.2012
comment
Я не понимаю, почему этот вопрос был закрыт. Я до сих пор не понимаю, почему 'var x : something' работает и что именно он делает. Приведенная ссылка не отвечает на мой вопрос.   -  person Saturnix    schedule 02.11.2012
comment
Ваш вопрос был закрыт, потому что ваш вопрос уже был задан и ответы на Stack Overflow. Посмотрите на самый верх вашего вопроса, и вы увидите ссылку на вопрос, который вы продублировали.   -  person mah    schedule 02.11.2012
comment
@mah: к сожалению, этот вопрос на самом деле не является дубликатом предложенного повторяющегося вопроса.   -  person Paul D. Waite    schedule 02.11.2012


Ответы (3)


Первый присваивает что-то переменной x, а второй вызывает синтаксическую ошибку.

Вероятно, вы путаете назначение свойства в литеральном объекте и обычное назначение.

var x = something;//assigning a variable
var y = {
    x:something//assigning a object property
};

Редактировать

var target : Transform;

похоже, UnityScript не JavaScript, похоже, что он не присваивает значение, а скорее установка типа переменной. см. здесь

person Musa    schedule 01.11.2012
comment
стр. 4, внизу download.unity3d.com/support /Учебники/ - person Saturnix; 02.11.2012
comment
так что Unity использует более сложный JavaScript? Плохо, я должен был сказать, что это было о Unity, но я думал, что это был просто JS. Спасибо! - person Saturnix; 02.11.2012
comment
Черт возьми! Я использую JavaScript только для того, чтобы держаться подальше от объявления типов переменных, а потом обнаруживаю это. Данг. Большое спасибо за ссылку! Теперь я понимаю. - person Saturnix; 02.11.2012

UnityScript — это не JavaScript

Unity Script и Javascript

person Cory Danielson    schedule 01.11.2012

Если вы определяете vars в объекте, вы должны использовать двоеточие.

var obj = {x:my_var};
person lostPixels    schedule 01.11.2012