2014-10-26 4 views
0
function hasEvent(event, entry) { 
    return entry.events.indexOf(event) != -1; 
} 

function tableFor(event, journal) { 
    var table = [0, 0, 0, 0]; 
    for (var i = 0; i < journal.length; i++) { 
    var entry = journal[i], index = 0; // what is going on here? 
    if (hasEvent(event, entry)) index += 1; 
    if (entry.squirrel) index += 2; 
    table[index] += 1; 
    } 
    return table; 
} 

console.log(tableFor("pizza", JOURNAL)); 

Для приведенного выше кода - Что такое раздел с комментариями? Журнал представляет собой массив объектов, каждый из которых имеет два свойства, первый из которых является «событиями» и содержит массив, второй - логический. Я вижу, что к объекту обращаются и хранятся в записи для каждого цикла, но я не знаю, что делает , index=0;.Eloquent Javascript Глава 4

+0

Это [множественный 'var' оператор] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var) – Bergi

ответ

2

Запятая позволяет просто объявлять сразу несколько переменных без наличия нескольких операторов var.

var entry = journal[i], index = 0; 

эквивалентно:

var entry = journal[i]; 
var index = 0; 
+0

Doh - я только что увидел это и сразу подумал о кортеже, пропустил очевидное. – Solaxun

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