1.实现复杂运算可以通过调用eval()方法进行计算,获取结果
// 使用eval(string)方法,内部对象是string
let a=eval("1*2-8+6+2/1");
console.log(a);
//或者写成
var string="1*2-8+6+2/1"
let a=eval(string);
console.log(a);
实现结果如下:
2.实现函数传递任意多个参数的方法
(1)直接在函数定义括号内传递需要传递的参数
(2) 可通过arguments对象实现定义函数的多个动态参数的传递
arguments 是一个对应于传递给函数的参数的类数组对象。有索引index和长度length属性
举例:
// 加法方法的定义,使用arguments传递多个参数
function add(){
let result=0;
for(let i=0;i<arguments.length;i++){
if(arguments.length>1){
result+=Number(arguments[i]);
}
}
return result;
};
console.log(add(1,2,3,4,5));
结果如下:
3.定义简单的加减乘除的基本代码(可实现多个数进行计算)
// 加法
function add(){
let result=0;
for(let i=0;i<arguments.length;i++){
if(arguments.length>1){
result+=Number(arguments[i]);
}
}
return result;
};
// 显示结果
console.log(add(1,2,3,4,5));
// 减法
function sub(){
let result=arguments[0];
for(let i=1;i<arguments.length;i++){
if(arguments.length>1){
result-=Number(arguments[i]);
}
}
return result;
};
console.log(sub(100,20,10,5));
// 乘法
function mul(){
let result=arguments[0];
for(let i=1;i<arguments.length;i++){
if(arguments.length>1){
result*=Number(arguments[i]);
if(result==0)break;
}
}
return result;
};
console.log(mul(1,2,3,4));
// 除法
function div(){
let result=arguments[0];
for(let i=1;i<arguments.length;i++){
if(arguments.length>1){
if(arguments[i]==0){
return result="结果未定义";
}else result/=Number(arguments[i]);
}
}
return result;
};
console.log(div(12,3,0));
实现效果: