博客

函数的参数:
形参:函数定义的时候,函数名字后面的小括号里的变量
实参:函数调用的时候,函数名字后面的小括号里的变量或者值

返回值:
函数中有return,函数有返回值
函数中没有return,函数没有返回值

没有明确返回值:函数中没有return或者return后面没有任何内容
如果一个函数没有明确的返回值,接收这个函数,结果是undefined

arguments----->可以获取函数调用的时候,传入的实参的个数
arguments是一个对象,是一个伪数组
arguments.length—>是实参的个数
arguments[索引]---->实参的值

作用域:变量的使用范围
全局作用域:全局变量在任何位置都可以使用的范围
局部作用域:局部变量只能在某个地方使用—函数内
作用域链: 在一个函数中使用一个变量,先在该函数中搜索这个变量,找到了则使用,找不到则继续向外面找这个变量,找到则使用,一直找到全局作用域,找不到则是undefined
全局变量: 只要是在函数外面声明的变量都可以看成或者是理解成是全局变量
局部变量: 在函数中定义的变量

预解析:在执行代码之前做的事情
变量的声明和函数的声明被提前了,变量和函数的声明会提升到当前所在的作用域的最上面
函数中的变量声明, 会提升到该函数的作用域的最上面(里面)
如果有多对的script标签都有相同名字的函数,预解析的时候是分段的,互不影响
做个题使用递归求一个数的阶乘
// 找规律 n! = n * (n-1)!
// 找出口
// n的阶乘 = n * n-1 * n-2 … 1
function mul(n){
// for(var i = 1,sum = 1;i <= n;i++){
// sum *= i;
// }
// return sum;
if(n == 1 || n == 0){
return 1;
}
return n * mul(n-1);
}
console.log(mul(5));

	// ==> 5 * mul(4)
	// mul(4); ==> 4 * mul(3)
	// mul(3); ==> 3 * mul(2)
	// mul(2); ==> 2 * mul(1)
	// mul(1); ==> 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值