2011-07-28 30 views
1

我很努力地讓一個變量的結果改變另一個不相關的變量。Javascript變量

我有一個腳本,生成一個0到19之間的隨機數,它將自身附加到全局變量「index」。我想要另一個腳本可以讀取「index」變量的結果,並從不同的數組中分配適當的文本響應,並將該文本發佈到一個新變量(讓我們稱之爲「響應」)。這兩個變量也需要匹配,即關聯數字(「索引」)後面的文本(「響應」)。例如,如果var index = 0,那麼var response =「good」,當var index = 1時,var response =「bad」等等,對於每個陣列所有20個可能的結果。

這似乎很簡單,但沒有讓我接受非常複雜和低效(即不兼容)的手段。

非常感謝你提前,有一些非常有才華的窺視!

感謝您的及時回覆!

下面是一些代碼。

var answers= new Array(20); 
    for (i = 0; i < answers.length; i++) 
     answers[i] = new Image(); 
     answers[0].src = 'images/answer1.jpg'; 
     //so on an so forth from 0 - 19 
    var index; 

    function askQuestion(){ 
     index = Math.floor(Math.random() * (answers.length));} 

所以我已經得到了VAR指標返回其觸發相關圖像值,但隨後想用指數的VAR輸出的結果相關的文字太(使用另一個變量)。我不敢相信我被困在這麼簡單的事情上!我想我已經把它變成了多個變量,或者再次使代碼翻倍。也許我只是捏造語法。該死,我的JavaScript編碼不是最偉大的。這些年前不應該放棄數學!有任何想法嗎?

+4

你可以發佈一些你的代碼,這將有所幫助。 – epoch

+0

請顯示您的代碼。 – GolezTrol

+0

謝謝,編輯帖子 –

回答

1

你只需要這個嗎?

var response = yourDifferentArray[window.index]; 

語法window[varName]允許您從代碼中的任何位置檢索全局變量的值。

+0

謝謝。我嘗試過,但似乎無法得到它的工作。也許我的語法錯了? –

+1

也許你可以嘗試使用'function askQuestion(){window.index = Math.floor(Math.random()*(answers.length));}'來創建'index'變量。 – Luc125

+0

謝謝堆!得到它的工作!我知道這很簡單,但是試圖太棘手! –

1

所以它非常簡單。我的問題是通過嘗試使用多個不通信的腳本太棘手(和語法錯誤)。結果如下。

var answers= new Array(20); 
for (i = 0; i < answers.length; i++) 
    answers[i] = new Image(); 
    answers[0].src = 'images/answer1.jpg'; 
    //so on an so forth from 0 - 19 
var index;  
var remarks = ["remark0","remark1"] //..so on 0-19 
var response; 

function askQuestion(){ 
    window.index = Math.floor(Math.random() * (answers.length));} 
    response = remarks[window.index]; 

非常感謝您的幫助!金星!!