js_day13---js函数
来源:互联网 发布:51聊天软件 编辑:程序博客网 时间:2024/05/04 06:01
Day13
●js函数
案例:
请大家完成这样一个程序,输入两个数,再输入一个运算符,得到结果。
<html><head><!--一般讲javascript放在head里面--><script language="javascript" type="text/javascript">//有些浏览器不识别language或者有些浏览器不识别type.//为了兼容,将两个都写进去<!--//-->//有时候这样写,也是有些浏览器可能存在的问题。var num1 = window.prompt("请输入第1个num");var num2 = window.prompt("请输入第2个num");var operator = window.prompt("请输入运算符");num1 = parseFloat(num1);num2 = parseFloat(num2);var res =0;if(operator =="+"){res = num1+num2;}else if(operator =="-"){res = num1-num2;}else if(operator =="*"){res = num1*num2;}else if(operator =="/"){res = num1/num2;}document.write("结果是"+res);</script></head><body></body></html>
引出一个问题:如果在另外的htm文件(比如a.htm,b.htm,c,htm)中也需要完成这个功能,又该怎么办?
☞解决方案:函数
函数概念:未完成某一功能的代码集合。
基本语法:
Function函数名(参数列表){
//代码
//Return;
}
强调:
参数不用写参数类型。
有时候需要返回值,但它不需要再函数名前面写函数返回类型。à不同于java
à主要原因还是javascript变量类型只有var一种,写不写无所谓,就不写了。
<html><head><script language="javascript" type="text/javascript">var num1 = window.prompt("请输入第1个num");var num2 = window.prompt("请输入第2个num");var operator = window.prompt("请输入运算符");num1 = parseFloat(num1);num2 = parseFloat(num2);//如何调用函数document.write("res="+calc(num1,num2,operator));//自定义函数//命名:驼峰法,下划线function calc(num1,num2,operator){var res =0;if(operator =="+"){res = num1+num2;}else if(operator =="-"){res = num1-num2;}else if(operator =="*"){res = num1*num2;}else if(operator =="/"){res = num1/num2;}return res;}</script></head><body></body></html>
那么如果其他html文件需要引用这个函数呢?
<scriptlanguage=”javascript” src=路径 ></script>
☞把上面的函数单独拿出来,写到js文件中,然后在需要的地方引入即可。
Html:
<html><head><!--引入js文件--><script language="javascript" src ="myfunction.js" ></script><script language="javascript" type="text/javascript">var num1 = window.prompt("请输入第1个num");var num2 = window.prompt("请输入第2个num");var operator = window.prompt("请输入运算符");num1 = parseFloat(num1);num2 = parseFloat(num2);//如何调用函数document.write("res="+calc(num1,num2,operator));</script></head><body></body></html>
Myfunction.js:
function calc(num1,num2,operator){var res =0;if(operator =="+"){res = num1+num2;}else if(operator =="-"){res = num1-num2;}else if(operator =="*"){res = num1*num2;}else if(operator =="/"){res = num1/num2;}return res;}
●js函数分类
自定义函数、系统函数(经常查看js帮助文档)
●js自定义函数
前面已经说过
●js自定义函数调用方式
①普通调用,通过函数名调用(同java语言一样)
②通过指向函数的变量去调用
//定义一个函数testfunction test(val){window.alert("你输入的是:"+val);}test("helloWorld");//通过函数名调用window.alert(test);//这时会把函数输出来var myvar = test;//相当于指针一样myvar("My name is Gavin");
③关于接收函数返回值的问题
//如果test函数没有返回值,但是你又接收了,则返回的就是undefined
//如果有返回值,则返回的是什么就是什么。
var myvar = test("abc");window.alert(myvar);
●函数调用过程
//abc是一个函数,它接收一个数值,function abc(num1){if(num1>3){abc(--num1);//递归}document.writeln(num1);
求abc(5),内存分析图如下:每调用一个函数,就新开辟一个栈空间。
●函数—深入使用
1、函数的参数列表可以是多个
2、参数列表可以是多个,并且数据类型可以是任意的类型
3、js支持参数个数可变的函数,天然支持。arguments
4、js支持创建动态函数(后面再讲)
5、但javascript不支持重载!!所以函数名一定要不一样。
案例:
//编写一个函数,可以接受任意多个数,并计算他们的和function add(){//在js中有一个arguments,可以访问所有的传入值//window.alert(arguments.length);var res = 0;//遍历所有的参数for(var i =0;i<arguments.length;i++){res += arguments[i];}window.alert(res);}
调用:
add(2,3,900);add(3,"hello world",5);//调用时参数可以是字符串
- js_day13---js函数
- JS 函数
- js 函数
- js 函数
- js 函数
- JS函数
- js函数
- js函数
- js函数
- JS函数
- js函数
- js 函数
- js函数
- JS函数
- js函数
- js 函数
- js函数
- js-函数
- MYSQL的事务处理主要有两种方法。
- 【codeview】冲锋也需挖对壕 编程多想一点
- signed 的范围大小为什么不一样?
- Spring连接mysql长时间空闲报错:The last packet successfully received from the server was xx millisecond ago...
- 【Leetcode】Palindrome Partitioning
- js_day13---js函数
- java 静态方法和实例方法的区别
- WEB精品文章收藏
- cygwin下ndk编译protobuf
- <菜鸟上路>关于io流的实际应用代码(仅作测试)
- 计算机视觉代码合集一
- 分形理论的基础概念
- mysql从服务器的一些常用命令和从服务器无法同步时的解决办法
- 如何使用Mondo救援故障恢复工具克隆和备份Linux系统