经过了一周相对基础的内容,本周开始逐渐困难,今日的关键及难懂内容是“递归函数”。
上午:
1.因为今日是周一,不免需要在一开始对上周的所有内容进行简单的回顾总结。
2.针对上周简单提及过的参数问题进行补充,以下是几个注意事项:
a.函数在调用的时候,必须按照要求传参
b.实参和实参不对等 --- 不报错
c.实参多了或者少了 函数不报错
3.return,return的作用是给函数一个返回值,提前结束整个函数。
4.短路赋值,例:x = x || n。当x未赋值时,默认给一个值n。
5.例题,随机数字验证码:
a.创建一个函数:function a(x){}
b. 给一个短路赋值当未获得其他数字时,默认为四位:x = x || 4;
c.定义一个值用来装结果,并使其为字符串类型:var a = ' ' ;
d.进行for循环,使其进行 “x"次循环,取出“x”个1~10之间的随机数,将它们拼接在一起,并结束循环:
for( i = 1 ; i < 10 ; i++ ) {
var n = rand ( 1 , 10 ) ;
a += n;
}
return a ;
下午:
1.巩固上午内容
2.作用域,变量拥有作用域:
a.全局作用域 —— 全局变量。在函数外面声明的变量,没有“var”的变量
b.局部作用域 —— 局部变量。在函数内部声明的变量
c.变量可以重复声明
d.变量可以不声明,直接赋值
e.当函数内部的变量于外部的变量同名时,优先使用内部的变量
3.匿名函数,只能调用一次的一次性函数。格式在函数前加任意符号,在结尾时加()与实参。
4.递归函数,今日的难点。主要提供一种不常用的思维方式,通常循环都可以用递归代替。