2012-06-05 2 views
0

Я довольно новичок в javascript, но я обычно понимаю большинство скриптов, которые я использую. сегодня я хотел порт somme of moment.js haxe. но я совершенно разочаровала этим синтаксисом:js weird bracket синтаксис

var args = seconds < 45 && ['s', seconds] || 
      minutes === 1 && ['m'] || 
      minutes < 45 && ['mm', minutes] || 
      hours === 1 && ['h'] || 
      hours < 22 && ['hh', hours] || 
      days === 1 && ['d'] || 
      days <= 25 && ['dd', days] || 
      days <= 45 && ['M'] || 
      days < 345 && ['MM', round(days/30)] || 
      years === 1 && ['y'] || ['yy', years]; 

вы можете найти его на номер строки 529 этого файла https://github.com/timrwood/moment/blob/master/moment.js#L532

что делает ["s", seconds] значит? Это массив, шаблон json?

ТНХ для ответов

ответ

3

В основном args будет массив с одним или двумя элементами, которые представляет временной интервал. В зависимости от того, как долго он будет измеряться в секундах, минутах, часах и т. Д.

Что означает ["s", seconds]? это массив, шаблон json?

Это определение массива.

+0

благодарит за ответ! так как должны выглядеть args после этих переключателей? Я не понимаю, что делает && в этой ситуации. – postite

+1

Это очень сложно, я знаю :-) Если условие слева от && истинно, то args будет установлено выражение справа от &&. Вот сценарий для экспериментов с: http://jsfiddle.net/Pharaon/qVA2Y/1/ –

+0

, так это: if (seconds <45) args = ["s", seconds] Право? – postite

Смежные вопросы