2013-06-03 22 views
1

是否有可能(並且是有效的代碼)?:是否有可能(和正確)調用返回數組的函數並直接使用索引鍵?

var x = function(){ return [0, 1, 2, 3];} 
console.log(x()[0]); 

它編譯OK與咕嚕..它工作在Chrome ..但它是確定其他瀏覽器?

+1

「但它是確定其他瀏覽器」 嗯,是很難找到你自己? – epascarello

+0

可以直接調用一個返回數據類型'x'的函數並直接使用'x'而不必先指定它?是的,但只有在代碼背景下有意義。 –

+0

@epascarello測試(甚至大多數瀏覽器..我們有多少?4 .. 10?)和不同的版本?是的,這很難。如果我確定它是否適用於Chrome和IE瀏覽器 - 所以沒關係,我不會問。例如,在PHP中,該功能只出現在最新版本中。 – avasin

回答

3

是的,這是可能的,完全正常。

雖然你可以注意到你的大部分數組在這裏沒用。

+0

對於jquery有時需要返回數組,例如$ .draggable()遏制。我需要這個數組的一些信息,但實際上我確實需要數組中的1個值:)謝謝! – avasin

2

沒有理由爲什麼這會失敗的任何瀏覽器。你的函數返回一個數組,所以你沒必要將它分配給一個變量,而不是直接使用它 - 就像你的代碼示例一樣。

var x = function(){ return [0, 1, 2, 3];} 
console.log(x()[0]); 

在功能上等同於

var x = function(){ return [0, 1, 2, 3];} 
var arr = x(); 
console.log(arr[0]); 
1

也能做到這一點

console.log((function(){return [0, 1, 2, 3];})()[0]) 

或本

console.log((function(){return [0, 1, 2, 3][0];})()) 
相關問題