2012-02-08 110 views
0

@ stackoverflow member @mrtsherman幫助我把這個小腳本放在一起,這個小腳本應該根據某些表單字段的輸入生成一個句子。爲了適應我的網站,我改變了一下,並想知道是否有一種方法來優化代碼? (尤其是 '案例' 部分)如何優化這段代碼?

http://jsfiddle.net/pktMJ/3/

謝謝!

+0

你所說的 「優化」 是什麼意思?你的代碼似乎運行得很好! – bfavaretto 2012-02-08 21:07:24

+5

知道誰真的擅長審查代碼? [代碼評論](http://codereview.stackexchange.com/)。 – Chad 2012-02-08 21:07:31

+0

+1爲乍得。在那裏,你可以找到你的最佳答案=) – 2012-02-08 21:09:28

回答

2
+0

+1,因爲這是*更好*,但不理想。如果有人將其擴展爲使用兩個值,那麼@DwB要做的數據字典就更好了。 – 2012-02-08 21:20:00

1

我不知道這是否是優化,但它刪除了switch語句。

var verbMap = 
{ 
    'Freshman':'studying', 
    'Sophomore':'studying', 
    'Junior':'studying', 
    'Senior':'studying', 
    'Masters Student':'studying', 
    'Phd Candidate':'studying', 
    'Masters Degree Holder':'having studied', 
    'Phd Degree Holder':'having studied', 
    'TA':'teaching', 
    'Professor':'teaching', 
    'Middle School Teacher':'teaching', 
    'High School Teacher':'teaching' 
}; 

document.getElementById('description').onchange = function() 
    { 

    document.getElementById('a').innerHTML = this.value; 

    var verb = verbMap[this.value]; 

    document.getElementById('d').innerHTML = verb; 
}; 
+0

我的錯誤,我發佈了錯誤的鏈接。這是我想知道的一個:http://jsfiddle.net/pktMJ/3/ – Donny 2012-02-08 21:14:22

+0

同樣的技術適用。而不是switch語句,你可以使用一個(在新的小提琴鏈接的情況下是兩個)映射來確定動詞和問題值。我將更新上面的代碼給verbMap,並留下學生的問題地圖。 – DwB 2012-02-08 21:54:19

+0

將'學過'的動詞值替換爲'學過',替換'你學過什麼?'的問題。 '你學什麼?',並替換'你在教什麼?'這個問題。 '你在教什麼'。 – DwB 2012-02-08 22:01:11