2016-04-02 23 views
-2

免責聲明:我做了一個lynda.com教程來學習javascript。我在2天內學到了大部分需要的東西。此外,我近10年來沒有做任何編碼,所以我只是想回到馬鞍上。單獨的Javascript文件和我不明白的數據列表

我有一個項目,我正在努力完成工作。大部分編寫的代碼都是由其他人編寫的,我從現有的代碼中「借用」了它。但是,看起來像這最後一部分,我需要自己做。但是,我無法弄清楚如何訪問它並返回所需的數據。

我有幾個.js文件,其中之一是嚴格具有以下類型的結構的文件,就是這樣。

var areaCode = {"555":["CA", "Movies and TV Area Code"], 
       "556":["FL", "something i made up"], 
       "557"["TN", "Whiskey Country"] 
       }; 

要求:我需要做的是採取區號用戶自定義輸入,搜索和返回狀態改變成一個變量和另一個變量的說明。這些變量將被用於寫入其他地方,但我已經弄清了這一部分。所有主要的JavaScript都會出現在另一個.js文件中。我必須使用預定義的區域代碼,狀態位置,位置描述列表,因爲輸出最終會進入已經使用的數據庫。預定義的數據列表已經存在於單獨的.js文件以及excel文件中。

我甚至不需要有人爲我完全弄清楚這一點。我只需要以某種方式開始,我迷路了。

感謝您提供任何幫助。

+0

你應該表明你已經嘗試過的代碼,或者更具體什麼的這一部分是給你的問題。甚至不清楚你在說什麼環境(儘管根據上下文假定你正在應用程序的客戶端工作)。 – Paul

+0

我完全失去了如何訪問我提供的代碼並吐出我需要的代碼。我需要的一切已經完成了。有用。但是,這並不是。我知道如何將返回的值寫入我需要的地方,但是,我不知道如何獲取返回的值。我需要幫助的是用嚴格的代碼(例如)展示這個單獨的.js文件,用區域代碼查找,然後吐出狀態,然後在每個變量中聲明狀態。你是對的,一切都是客戶端。 – LiquidMusic1

+0

然而,如果你真的想要我的微弱嘗試,在這裏你去: var phone = document.getElementById(「phoneInput」)。value; \t \t \t var areaCode = phone.substring(0,3); \t \t \t \t var state = areaCodeLookUp。AREACODE [0]; \t var location = areaCodeLookUp.areaCode [1]; – LiquidMusic1

回答

0

好吧,我仍然不是100%清楚你要問什麼,但我會給它一個。

假設這一切都在HTML等等,你不必「伸手」到另一個文件。假設你所提供的代碼段的.js文件直接拷貝文件你想用你的查找,您只需要包括它和在HTML文件:

<script type='text/javascript' src='areacodes.js'></script> 
<script type='text/javascript' src='yourscript.js'></script> 

在這一點上, 'yourscript.js'中的代碼將有權訪問您在areacodes.js中定義的areaCode變量。

所以你可以做這樣的事情

var desiredAreaCode = // whatever means you're getting user input 
var code = areaCode[desiredAreaCode]; // if desiredAreaCode is 555, this will be an array that has values ["CA", "Movies and TV area code"] 

var state = code[0]; // the first item in the array 
var description = code[1]; //the second item in the array. 
+0

好吧,讓我來問你一些問題: 背景:用戶正在使用HTML頁面。 HTML調用幾個.js文件。然而,一切都在一個主要的.js文件中完成。我沒有寫任何一個,我只是添加了一點點的主要.js文件。 單獨的.js文件定義了變量areaCode,我是否像那個變量在主.js文件中一樣行動,並繼續進行,就好像它已經可用? – LiquidMusic1

+0

如果它被定義爲一個窗口級別的變量,就像你的示例代碼所表明的那樣,那麼它就會被任何被包含在腳本之後的腳本使用。 – Paul

+0

你真棒..非常感謝你! – LiquidMusic1