javascript - JavaScript 中的重复函数

标签 javascript function

你能告诉我如何从这 4 个函数中得到 1。因为它们都做一件事,只有一个参数一直在变化。 另外,我需要在每次函数运行时获取值并将其放入一个新变量中,以便我可以在计算之后进行计算。

function getValue(age)
{
    for (var i = 0; i < document.getElementsByName('age').length; i++)
    {
        if (document.getElementsByName('age')[i].checked)
        {
            return document.getElementsByName('age')[i].value;
        }
    }
}


function getBmiValue()
{
    for (var i = 0; i < document.getElementsByName('bmi').length; i++)
    {
        if (document.getElementsByName('bmi')[i].checked)
        {
            return document.getElementsByName('bmi')[i].value;
        }
    }
}    

function getFamValue()
{
 for (var i = 0; i < document.getElementsByName('fam').length; i++)
 {
    if (document.getElementsByName('fam')[i].checked)
        {
            return document.getElementsByName('fam')[i].value;
        }
    }   
 }

function getDietValue()
{
 for (var i = 0; i < document.getElementsByName('diet').length; i++)
  {
      if (document.getElementsByName('diet')[i].checked)
       {
            return document.getElementsByName('diet')[i].value;
       }
    }     
}

最佳答案

function getValueByElementName(element_name)
{
 for (var i = 0; i < document.getElementsByName(element_name).length; i++)
 {
    if (document.getElementsByName(element_name)[i].checked)
        {
            return document.getElementsByName(element_name)[i].value;
        }
    }   
 }

或者一点点优化:

function getValueByElementName(element_name)
{
   var elements = document.getElementsByName(element_name);

   for (var i = 0; i < elements.length; i++)
   {
      if (elements[i].checked)
            return elements[i].value;
    }   
 }

关于javascript - JavaScript 中的重复函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657162/

相关文章:

jquery - 为什么jquery插件中的变量中存在对函数的调用

javascript - 部分更新同时支持seo

javascript - jQuery .append() 何时像 .insertBefore() 最后一个子项一样工作?

Python-如何初始化随机函数

c++ - 提升 C++ 与 Python 的能力

c - IF 语句正在更改函数中的数组元素

javascript - 如果我来自外部应用程序,是否检测 React 路由器中的先前路径?

javascript - 使用 jQuery 文件上传无法上传文件

javascript - 如果未发送,请重试发送邮件

Javascript:在循环中定义函数时将变量设为静态?