2012-02-08 74 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