函数(三)

作用域

定义:变量起作用的范围

变量根据定义的位置分为两类:

在函数外部定义的变量称为全局变量,作用域:在页面的任何角落都可以访问到

在函数内部定义的变量称为局部变量,作用域:只能在函数的内部访问

注意:

1、如果在函数内部给一个为声明的变量赋值,则给这个变量自动变为全局变量

2、变量的作用域在函数定义的时候已经确定了下来

3、函数里面的变量只在全局变量里面寻找,不在执行区域里面寻找

函数的生存周期:全局变量只有在页面关闭的时候才会销毁;局部变量在函数执行完毕的时候就自动销毁

拓展(with语句)

定义:为一个或者一组语句指定默认对象。

注意:在严格模式下,with语句不能使用。

提示:with语句是运行缓慢的代码块,尽量避免使用。

with(document) {
	write('龙岂池中物,');
	write('乘雷欲上天。');
	write('云雨交合处,');
	write('是谁在呼唤!');
}

回调函数:

定义:如果一个函数是通过指针调用的,则就是回调函数;一个函数在另外一个函数里面执行的叫做回调函数,一般执行需要一个条件

指针:先简单的理解为通过函数名称执行的函数

递归函数:

定义:如果一个函数在内部调用了自身,则称为递归函数

特点:

1、必须有一个明确的递归结束条件,称为递归出口

2、自身调用自身

3、不确定循环的次数

/*
	分析:
	{
		var num = 1;
		num++; // 2
		if(num < 5) {
			{
				var num = 2;
				num++; // 3
				if(num < 5) {
					{
						var num = 3;
						num++; // 4
						if(num < 5) {
							{
								var num = 4;
								num++; // 5
								if(num < 5) {
									print(num);
								}
								console.log(num); // 5
							}
						}
						console.log(num);
					}
				}
				console.log(num);
			}
		}
		console.log(num);
	}
*/

function print(num){
	num++;
	if(num<5){//递归出口
		print();//满足条件就调用函数
	}
	console.log(num);
}

print(1);
//最后执行结果是5,4,3,2

匿名函数:

定义:没有名字的函数

应用:用表达式创建一个函数的时候就没有名字

例: (function(){})();

构造函数:

定义:在new出来的函数才是一个构造函数,返回值都是一个对象,构造函数的函数名首字母一般大写

function Person(){
	alert(1);
}

var obj = new Person();//Person()就是一个构造函数
console.log(obj);//弹出1
var fun = new Function ();//Function 构造函数 创建一个新的Function对象。 在 JavaScript 中, 每个函数实际上都是一个Function对象。

console.log(fun);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值