javascript教程系列-4.函数
转载请标明出处!
在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来。怎样使用各种各样的忍术那?通过结印。
好,我们提取一些火影忍者中的关键信息。
1.火影忍者的故事背景有忍术存在,忍术什么样是由忍术先祖发明出来的。
2.忍术是同过结印触发的。结印几次就触发几次;(查克拉足够的情况下)
通过这个背景我们想象一下,在JavaScript这个故事中,有一种类似忍术的东西,这种东西叫做函数,忍术先祖可以创造各种各样的忍术,同样我们也可以创造各种各样不同的函数,忍术需要结印才能触发,同样的函数需要调用才能触发。
函数
将代码编写在函数中,就可以避免在非必要情况下调用该代码,也就是说我们可以让一段代码在特定情况下再去执行。
function 关键字:该关键字表示要声明一个函数。
如何执行函数()
function m1(){
//xxxxxxxxxxxxx
}
for(var i=0;i<10;i++){
m1();
}
刚才提到,函数的意义就是在特定情况下运行函数,那么什么是特定的情况那?
JavaScript是事件驱动的语言!
事件:用户的行为。
onclick、ondblclick、onfocus、onblur
函数的参数
function m1(v1, v2, v3...){
//xxxxxxxxxxxxx
}
return关键字
带返回值的函数
案例:
年月日分别为自定义函数的参数,判断是否为正确的日期
作业:
三个输入框分别输入,年、月、日, 判断,年月日是否正确。
参数可以传递多个,与函数的定义无关
function fn(e,b){
}
fn ("a","b","c");
案例:要实现一个加法运算,将所有传进来的数字累加。
作用域的问题
作用域的生命周期。
var a = 10;
function m1(){
var a = 5;
alert(a);
}
递归的用法
什么是递归?
自身调用自身!
function pr(){
return pr()
}
关键点:
1.终止条件
2.运算规则
function pr(n){
if(n==1){ // 终止条件
return n;
}
return pr(n-1)+n;
}
打印任意个hello world;
function pr(n){
if(n==0){
return
}
document.write('hello world!!<br>');
return pr(n-1);
}
pr(10)
输出斐波那契额数列数列的前20项(递归)
function fib(n){
if(n==1||n==2){
return 1
}
return fib(n-1)+fib(n-2)
}
for(var i = 1 ; i <= 20; i++){
document.write(fib(i)+'<br>')
}