2014-06-11 43 views
2

目前,我正在做這樣的事情:

var foo = $.isArray(bar) ? bar : [bar]; 

哪裏bar可以是例如數組[1,2,3]或數字,如1

$.makeArray()穿過了我的想法,但它似乎打算用於具有類似數組結構的對象(如jQuery對象),以便使用通常不會存在的數組內置方法物體。

var foo = $.makeArray(bar); 

console.log($.makeArray(1), $.makeArray([1])); // [1], [1] 

上面的代碼看起來工作正常,但什麼我納悶的是,如果它恰好工作(因此是不安全的依賴),或者,如果這是一個有效的用例爲makeArray()

回答

1

好吧,如果你知道它的無論是原始的數字或數組,這是一個完全有效的用例(即使是無證)。

2

我不會做$.makeArray(1)因爲根據documentation這是關於「陣列像」的目的,這將是一個節點列表的功能(由document.getElementsByTagName返回)或一個arguments陣列狀物體的功能之內。它可以在今天工作,也可能在不久的將來,但jQuery可以隨時改變實現,以更適合他們的規範。