2012-05-12 23 views
1

我有以下幾點:如何從javascript函數返回兩個參數?

function getPk(entity) { 
    var store = window.localStorage; 
    switch (entity) { 
     case "City": 
      if (store.getItem('AccountID')) { 
       // Need to return both of the below pieces of information 
       return store.getItem('AccountID') + "04" + "000"; 
       return "CityTable"; 

      } else { 
       paramOnFailure("Please reselect"); 
       return false; 
      } 
      break; 

的問題是我需要能夠調用這個函數,返回兩個字符串。在這裏,我顯示了兩個返回語句,但我知道我不能這樣做。

是否有一個乾淨的方式我可以返回兩個字符串到調用我的getPk(實體)函數的函數?

如果可能的話,你還可以舉一個例子說明如何閱讀返回的內容。

回答

4

將它們返回爲數組或對象內。

return [store.getItem('AccountID') + "04" + "000", "CityTable"]; 

return { accountID: store.getItem('AccountID') + "04" + "000", table: "CityTable" }; 
+0

對不起,但我該如何讀取數組?你能給一個調用函數的例子和返回的例子嗎?提前致謝。 –

+0

當然。看看https://gist.github.com/dc0fb7f77e74e0227d29 – x1a4

3

您只能從一個JavaScript函數返回一個值,但該值可以是包含在內部多個值,如數組的結構:

return [store.getItem('AccountID') + "04" + "000", "CityTable"]; 

只需確保其功能調用這知道你用於你的回報價值的慣例。

+0

但你能告訴我調用函數是如何讀取這個的。我很抱歉,但我的JavaScript知識是非常基本的。 –

+0

'var x = getPk(entity);',然後參考'x [0]'和'x [1]'來引用你返回的兩個值。 – duskwuff

0

JavaScript和像幾乎所有的語言,它是不可能返回多個值。

但是,您可以返回包含要返回的所有值的自定義對象。

請參閱以下鏈接以查找如何創建對象。 Create an object with properties,