js中怎么样让arguments[arguments.length-1]表示那个加号 执行这段代码?
<!DOCTYPEhtml><html><head><title></title><metacharset="utf-8"><scripttype="text/javas...
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
window.onload=function(){
var n=0;
alert(sum(1,2,3,'+')) ; //6
function sum(){
for(var i=0;i<arguments.length;i++)
{
n=arguments[i] arguments[arguments.length-1] n;
}
return n;
}
}
</script>
</head>
<body>
</body>
</html> 展开
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript">
window.onload=function(){
var n=0;
alert(sum(1,2,3,'+')) ; //6
function sum(){
for(var i=0;i<arguments.length;i++)
{
n=arguments[i] arguments[arguments.length-1] n;
}
return n;
}
}
</script>
</head>
<body>
</body>
</html> 展开
2个回答
展开全部
function f1() {
var args = [].slice.call(arguments);
var end = args.pop();
var start = args.shift();
var map = {
'+': function (a, b) {
return a + b;
},
'-': function (a, b) {
return a - b;
},
// others
};
return args.reduce(function (total, item) {
total = map[end](total, item);
return total;
}, start);
}
var result = f1(1, 2, 3, 4, 5, '+');
console.log(result); //15
var result = f1(1, 2, 3, 4, 5, '-');
console.log(result); // -13
2018-06-04
展开全部
我觉得你应该字符串连接然后eval
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询