JS学习笔记4

函数

1.声明函数需要使用关键字function

function fun(){
	alert("hello world")
}

2.有参数的函数不需要声明形参类型

function fun(n){
	for(var i=1;i<=n;i++){
		alert("hello world")
	}
}
注:函数中的形参类似于在函数中定义了一个局部变量,而传参的过程是将我们给定的某个值赋值给这个局部变量,并不是将我们定义的变量传进函数进行操作。

3.有参数有返回值的函数不需要声明返回值类型

function add(num1,num2){
	return num1+num2;
}

4.每一个函数内部都有一个arguments,系统内置的

argument是用来存储实际传入的参数
属性:
arguments.length 输出当前里面存储的参数个数
arguments[下标] 访问某一个数据
//求传入任意个数字的和
function add(){
	for(var i=0;i<arguments.length;i++){
		res+=arguments[i];
	}
	return res;
}

5.垃圾回收机制
调用函数的时候系统会分配对应的空间给这个函数使用。当函数适应完毕,这个内存空间就会释放,还给系统。

6.递归
编写递归的方法
1.首先去找临界值,及无需计算获得的值
2.找这一次和上一次的关系
3.假设当前函数可以使用,调用自身计算上一次
例:计算1到n的和
第一步:找临界值,即1的和为1=>if(n==1){return 1;}
第二步:找这一次和上一次的关系,假设当前n=100且当前函数可用则和n=99的关系为:sum(100)=sum(99)+100,则sun(n)=sum(n-1)+n.即return sum(n-1)+n;

function sum(n){
	if(n==1){
		return 1;
	}
	return sum(n-1)+n;
}
注:开发中不推荐使用递归	,因为非常耗费内存空间,比如上面的例子,每次调用函数的时候都需要去开辟一块内存,假如传入的n为100则调用了sum函数100次,而且直到调用sum(1)时前面开辟的空间都不会被释放,当调用完sum(1)时,计算机才会依次释放内存。这里的n仅仅为100,假如n非常大,那么计算机会在一瞬间开辟大量的内存,同时计算结果出来之前又得不到释放,这样是非常危险的!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值