JS高级:上下文的题

			console.log('global begin:' + i); //undefined
			var i = 1;
			foo(1);//函数执行上下文 可以执行
			function foo(i) {
				if (i == 4) {
					return;
				}
				console.log("foo()begin:" + i);//1
				foo(i + 1);//递归调用 函数内部调用 执行自己
				console.log("foo()end:" + i);
			}
				console.log("global end:" + i);//1

1、依次输出什么 

2、整个过程中产生了几个执行上下文 :5个

window foo(1) foo(2) foo(3) foo(4)

递归调用 函数内部调用 执行自己 --具有终止条件


			function a(){}//function
			var a;//undefined
			console.log(typeof a);//function

1、说明变量先提升 ,之后再执行变量提升 ,所以之后的a是function

			if(!(b in window)){
				var b=1;
			}
			console.log(b);//undefined
			if (!(b in window)) { //如果b属性不在window 
				var b = 1; 
			}
			console.log(b); //undefined 变量提升
			

2、b变量提升

			var c = 1;
			function c(c) {
				console.log(c)
			}
			c(2);//报错

3、说明,变量赋值之后 函数声明被弹出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值