用js实现一个建议计算器
funs.js码
//必然需要传入参数[num1,num2,oper]
function jiSuan(num1,num2,oper){
//把num1, num2转成float
num1=parseFloat(num1);
num2=parseFloat(num2);
var res=0;
switch(oper){
case "+":
res=num1+num2;
break;
case "-":
res=num1-num2;
break;
case "*":
res=num1*num2;
break;
case "/":
res=num1/num2;
break;
default:
window.alert("输入的运算符号错误");
}
//return 语句表示返回? 返回给哪个!(谁调用就返回给谁)
return res;
}
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<!--在使用函数前,引入js文件-->
<script type="text/javascript" src="funs.js"></script>
<script type="text/javascript">
var num1=window.prompt("请输入一个数");
var num2=window.prompt("请输入2个数");
var oper=window.prompt("输入运算符号");
window.alert("res="+jiSuan(num1,num2,oper));
</script>
</html>
递归的讲解:
function test2(n){
if(n==1){
return 1;
}else{
return test2(n-1)*n;
}
}
u js使用小结
①函数的参数列表可以是多个
②参数列表可以是多个,并且数据类型可以是任意的类型
③js函数支持可变参数
代码:
function test4(){
//window.alert(arguments.length);
var res=0;
for(vari=0;i<arguments.length;i++){
//document.write(arguments[i]+"--");
res+=arguments[i];
}
return res;
}
//需求我希望test4函数可以计算我给出的数的结果和(但是我给的参数个数不确定)
document.write(test4(45,89,90,78.8));
通过这段代码,我们可以得出这样的结论: 在同一个作用域(在同一个页面) js函数是不能有重复名字,同时我们也知道 js 函数不支持函数的重载.
=========================
函数的调用方式
① 函数名(参数值); (通过函数名调用)
function test(val){
window.alert(val);
}
test(“hello”);
② 通过函数指针去调用
基本用法
var 变量=函数名;
变量(参数列表);
代码
function test(num1,num2){
returnnum1+num2;
}
//window.alert(test);
//下面的话,相当于把test的函数指针,赋给了my这个变量.
//因此my也执行test函数的代码
varmy=test;
window.alert(my);
varres=my(67,90);
window.alert("00"+res);
特别说明:
1. 如果一个函数有返回值,你可以接收后再使用,也可以直接使用.
2. 如果一个函数没有返回值,但是你却使用,则会提示 undefined;