Javascript 如何优化这段代码?

Javascript 如何优化这段代码?,javascript,html,Javascript,Html,stackoverflow的一位同事@mrtsherman帮助我整理了这个小脚本,它应该根据一些表单字段的输入生成一个句子。我对它做了一些修改,以适应我的网站,我想知道是否有办法优化代码?(尤其是“案例”部分) 谢谢 我不知道这是否是一个优化,但它删除了switch语句 var verbMap = { 'Freshman':'studying', 'Sophomore':'studying', 'Junior':'studying', 'Senior':'stu

stackoverflow的一位同事@mrtsherman帮助我整理了这个小脚本,它应该根据一些表单字段的输入生成一个句子。我对它做了一些修改,以适应我的网站,我想知道是否有办法优化代码?(尤其是“案例”部分)


谢谢

我不知道这是否是一个优化,但它删除了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;
};

我不知道这是否是一个优化,但它删除了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;
};

修正了:

修正了:

你说的“优化”是什么意思?您的代码似乎运行得很好!知道谁真正擅长审查代码吗+1乍得。在这里,您可以找到您的最佳答案=)这段代码基本上太短,甚至无法尝试优化。你可以用字典,但真的没有必要。哎呀,我的错,我粘贴了错误的链接。我已经更新了上面的一个。你说的“优化”是什么意思?您的代码似乎运行得很好!知道谁真正擅长审查代码吗+1乍得。在这里,您可以找到您的最佳答案=)这段代码基本上太短,甚至无法尝试优化。你可以用字典,但真的没有必要。哎呀,我的错,我粘贴了错误的链接。我更新了上面的一个。我错了,我发布了错误的链接。这就是我想知道的:同样的技术也适用。您可以使用(在新的fiddle链接中为两个)映射来确定动词和疑问词值,而不是switch语句。我将更新上面的verbMap代码,并将问题地图留给学生。将动词值“having studed”替换为“who studed”,将问题“What have you studies?”替换为“What have you studies”,并将问题“What you teaching”(你在教什么)替换为“What do you teaching”(你教什么)。我错了,我发布了错误的链接。这就是我想知道的:同样的技术也适用。您可以使用(在新的fiddle链接中为两个)映射来确定动词和疑问词值,而不是switch语句。我将更新上面的详细地图代码,并将问题地图留给学生。将动词值“having studies”替换为“who studies”,将问题“What have you studies?”替换为“What have you studies?”,并将问题“What you teaching?”替换为“What do you teaching”。+1因为这样更好,但并不理想。如果有人将@DwB所使用的数据字典扩展为使用两个值,+1会更好,因为这更好,但并不理想。如果有人将@DwB所使用的数据字典扩展为使用两个值,那么它会更好。