javascript--函数(二)
来源:互联网 发布:网络互联协议的端口号 编辑:程序博客网 时间:2024/05/30 05:15
一、函数的重载
在调用函数的时候,传入的参数的个数与类型不同,执行不同的代码块。
函数重载的模拟
function chongzai(){ if(arguments.length==1){ if(typeof arguments[0]=='number'){ alert('这是第一种形式') }else if (typeof arguments[0]=='string'){ alert('这是第二种形式') } }else if(arguments.length==2){ if(typeof arguments[0]=='number'&& typeof arguments[1]=='number'){ alert('这是第三种形式') }else if (typeof arguments[0]=='string'&& typeof arguments[1]=='string'){ alert('这是第四种形式') } } } chongzai(1); chongzai('a'); chongzai(1,1); chongzai('a','a')
二、回调函数
通过函数的指针来调用函数
——把一个函数的指针作为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数。
练习:算数运算,以回调函数的方式进行不同的运算
//将不同的运算类型当成参数传递给函数result,提高代码的运行效率function result(num1,num2,type){ console.log(type(num1,num2))}function jia(a,b){ return a+b;}function jian(a,b){ return a-b;}function cheng(a,b){ return a*b;}function chu(a,b){ return a/b;}result(6,2,jia)result(6,2,jian)result(6,2,cheng)result(6,2,chu)
三、函数的递归
在函数内部直接或间接的调用自己
练习:1.斐波那契数列
// 斐波那契数列 1 1 2 3 5 8 13 21 值为前两个数的值之和function feibo(n){ if(n==1||n==2){ return 1; }else{ return feibo(n-1)+feibo(n-2); }}alert(feibo(8))
2.计算1+2+3+4+...
function fn(num){ if(num==1){ return 1; }else{ return num+fn(num-1) }} var num=fn(5)console.log(num)//解析//在第一次运行结果 5+fn(4)//第二次运行结果 5+4+fn(3)//第三次运行 5+4+3+fn(2)//第四次运行 5+4+3+2+fn(1)//第五次运行 5+4+3+2+1
四、练习:做出如下效果图,并封装成函数,传入参数可形成任意行的效果图
function star(num) { for(var i=1;i<=num;i++){ for(var j=num;j>=i;j--){ document.write(" ") } for(var h=1;h<=i;h++){ document.write(" *") } document.write('</br>') } } star(10)
阅读全文
0 0
- javascript--函数(二)
- javascript(二)构造函数
- html javascript 函数(二)
- JavaScript小结(二)-----Date()函数
- javascript高级程序设计学习(二)----函数
- javascript常用函数大全(二)
- javascript常用函数大全(二)
- 函数(二)----Javascript语言精粹
- Javascript编程笔记(二)函数
- JavaScript函数式编程(二)
- 常用javascript函数(二)
- javascript(二)函数
- javascript函数重载(二)
- JavaScript的函数---JavaScript高级程序设计读书笔记(二)
- javascript函数(二)--将函数作为参数传递
- javascript自动的校验函数(二)-email校验
- Javascript面向对象编程(二):构造函数的继承
- Javascript面向对象编程(二):构造函数的继承
- java发邮件失败
- javascript--运算符
- javascript--函数(一)
- 中国省份及简称记录
- 基于Jquery/cropper插件的使用。头像截切/裁剪图片。
- javascript--函数(二)
- Android WebView 加载网页只显示空白页不显示网页
- js典型题--从闭包开始
- mobile下拉刷新下一页
- javascript--对象
- 安装webstorm vue插件
- javascript--对象的特性
- 数组对象,字符串对象,Match对象
- PHP魔术方法归纳