2010-05-04 48 views
2
var ret = [] 
      ,xresult = document.evaluate(exp, rootEl, null, 
         XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null) 
      ,result = xresult.iterateNext(); 
    while (result) { 
    ret[ret.length]= result; 
    result = xresult.iterateNext(); 
    } 

任何人都可以解釋我什麼是ret = [],..,...語法?初始化數組?javascript語法

回答

2

你說得對。此代碼:

var ret = [] 
      ,xresult = document.evaluate(exp, rootEl, null, 
         XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null) 
      ,result = xresult.iterateNext(); 

可以重寫爲:

var ret = []; 
var xresult = document.evaluate(exp, rootEl, null, 
         XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null); 
var result = xresult.iterateNext(); 

var foo = [];初始化FOO作爲空數組。

+0

@artlung:是的,但我沒有看到空'ret','xresult'和'result'之間的連接...請詳細說明這一點,如果可以的話。除非沒有連接,只需簡短的書寫 - 一行初始化。 – Pablo 2010-05-04 01:34:27

+0

沒錯,沒有關係。所以例如var'var a = 1,b = 2,c = 3;'是寫它的一種方法,但我也可以這樣做:var a = 1; var b = 2; var c = 3;'...使用逗號僅僅是編碼風格。根據您發佈的代碼,'ret','xresult'和'result'之間沒有鏈接。 – artlung 2010-05-04 01:42:54

+0

那麼,我不應該說「沒有鏈接」 - 你發佈的while循環使用這三個變量來填充'ret'數組。但'var'行只是初始化。 – artlung 2010-05-04 01:45:41