2011-06-07 81 views
-2

我今天早些時候發現,如果連接到單個值,split()不起作用。 我想寫我自己的split()方法,這樣如果我將它發送給一個值,它將創建一個具有單個值的數組。編寫我自己的拆分方法

問:我應該改變分割原型還是寫一個函數?

var SPLIT=function(X) { 
    return X.toString().split() 
} 
+2

嗯? ''a'.split()'→'[「a」]' – deceze 2011-06-07 01:54:30

+0

我很困惑 var str ='xxxx' console.log(str.split()); 返回['xxxx'] – matchew 2011-06-07 01:54:32

+2

你是什麼意思*單個值*? – alex 2011-06-07 01:55:07

回答

5

爲了澄清,split()的確有 「單值」工作。 last question中的問題是返回的值不是字符串,因此.toString()是必需的。

在我看來,沒有必要爲此寫另一個函數。只需記住在調用.split()之前將您的值轉換爲字符串。

如果你必須有一個這樣做的函數,那麼回答你的問題,創建一個新的函數,不要修改原型。雖然在這種情況下修改Number或Object的原型可能看起來毫無害處,但它通常被認爲是不好的做法,因爲其他代碼(例如,您正在使用的庫)可能不會期待它。