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
的用途是什么?