2014-10-26 66 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)); 

對於上面的代碼 - 什麼是註釋部分在做什麼? Journal是一個對象數組,每個對象都有兩個屬性,第一個是'events'並且包含一個數組,第二個是布爾值。我可以看到一個對象被訪問並存儲在每個循環的入口中,但我不知道, index=0;正在做什麼。Eloquent Javascript第4章

+0

這是一個[多'var'聲明】(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var) – Bergi 2014-10-26 22:51:55

回答

2

逗號只是允許一次聲明多個變量,而沒有多個var語句。

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

等同於:

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

Doh - 我剛剛看到那個,立即想到了元組,錯過了明顯的。 – Solaxun 2014-10-26 23:16:48

相關問題