Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将4个相同的函数组合成一个可重用的新函数_Javascript_Function - Fatal编程技术网

Javascript 如何将4个相同的函数组合成一个可重用的新函数

Javascript 如何将4个相同的函数组合成一个可重用的新函数,javascript,function,Javascript,Function,我做了一些函数,但它们都在做大致相同的事情。 我想将这些函数组合成一个新函数,在我需要一个新函数时可以重用。。这是可能的,还是我只是在浪费你和我的时间 代码如下: function getBinding(selectedBinding) { var b = elems.binding; var selectedBinding = b.options[b.selectedIndex].value; return selectedBinding; } // Getting the h

我做了一些函数,但它们都在做大致相同的事情。 我想将这些函数组合成一个新函数,在我需要一个新函数时可以重用。。这是可能的,还是我只是在浪费你和我的时间

代码如下:

function getBinding(selectedBinding) {
  var b = elems.binding;
  var selectedBinding = b.options[b.selectedIndex].value;
  return selectedBinding;
} 

// Getting the holes value
function getHoles(selectedHoles) {
  var h = elems.holes;
  var selectedHoles = h.options[h.selectedIndex].value;
  return selectedHoles;
}

// Getting the paper weight value
function getPaperWeight(selectedPaperWeight) {
  var pW = elems.paperWeight;
  var selectedPaperWeight = pW.options[pW.selectedIndex].value;
  return selectedPaperWeight;
}

// Getting the staples value
function getStaples(selectedStapling) {
  var s = elems.stapling;
  var selectedStapling = s.options[s.selectedIndex].value;
  return selectedStapling;
}
有什么建议吗


非常感谢

类似于
getByKey

//
函数getValueByKey(键){
var elem=elems[键];
var optionValue=elem.options[elem.selectedIndex].value;
返回optionValue;

}
类似于
getByKey

//
函数getValueByKey(键){
var elem=elems[键];
var optionValue=elem.options[elem.selectedIndex].value;
返回optionValue;

}
我将道具类型作为参数-

function selectByPropAndIndex(prop){
    var elemByProp = elems[prop];
    var selected= elemByProp.options[elemByProp.selectedIndex].value;
    return selected;
}

我会将道具类型作为参数-

function selectByPropAndIndex(prop){
    var elemByProp = elems[prop];
    var selected= elemByProp.options[elemByProp.selectedIndex].value;
    return selected;
}

可以将元素作为参数

function getValue(element) {
    var e = elems[element];
    return e.options[e.selectedIndex].value;
}

可以将元素作为参数

function getValue(element) {
    var e = elems[element];
    return e.options[e.selectedIndex].value;
}
您可以使用创建此类函数:

function getItems(elementType) {
  return function(elements) {
    var items = elements[elementType];
    return items.options[items.selectedIndex].value;
  };
}

var getBinding = getItems('binding');
var getHoles = getItems('holes');
var getPaperWeight = getItems('paperWeight');
var getStaples = getItems('stapling');
用法:

getBinding(elems);
您可以使用创建此类函数:

function getItems(elementType) {
  return function(elements) {
    var items = elements[elementType];
    return items.options[items.selectedIndex].value;
  };
}

var getBinding = getItems('binding');
var getHoles = getItems('holes');
var getPaperWeight = getItems('paperWeight');
var getStaples = getItems('stapling');
用法:

getBinding(elems);
您可以尝试以下方法:

function getSelectedProperty(property) {
    var elem = elems[property];
    return elem.options[elem.selectedIndex].value;
}
还要注意,您的原始代码有一些问题。这些参数是无用的,因为您在每个函数中定义了一个新变量,该变量将重写参数名称,因为您给了它相同的名称。例如:

function foo(x) {
    var x = 5; // this x is not the same as the parameter x
}
您可以尝试以下方法:

function getSelectedProperty(property) {
    var elem = elems[property];
    return elem.options[elem.selectedIndex].value;
}
还要注意,您的原始代码有一些问题。这些参数是无用的,因为您在每个函数中定义了一个新变量,该变量将重写参数名称,因为您给了它相同的名称。例如:

function foo(x) {
    var x = 5; // this x is not the same as the parameter x
}

我就是这样修好的

function getValue(selector){ 
    return parseInt(selector.options[selector.selectedIndex].value);
};

谢谢大家

我就是这样修好的

function getValue(selector){ 
    return parseInt(selector.options[selector.selectedIndex].value);
};

谢谢大家

基于您的代码,所有函数的参数都没有任何用途。参数
selectedBinding
的用途是什么?基于您的代码,所有函数的参数都没有任何用途。参数
selectedBinding
的用途是什么?