函数作用域的实例

<script>

//作用域

 

//全局变量

// var a=3;

// function getNum(){

// //函数中定义变量外部是不能够获取的

// //局部变量只能在函数内调用

// //var b = 4;

// //函数内可以调用全局变量

// //当函数执行完后,局部变量将被销毁

// }

//getNum();


 

//当大量使用全局变量时,变量自身是会被数量过多命名相同而污染,以至于丢失部分需要变量

//当使用全局变量,就增加了代码的耦合度(在不同的函数中降低使用同一个变量)

//当大量使用全局变量,会造成内存占有过多(局部变量会自动销毁,全局变量不会)

 

// var a= 3;//报错 因为定义a=3意味着将内存中存储的函数替换为3

// function a(){

// console.log(a);

// }

// a();

 

// var a ;//仅仅定义了变量,没有覆盖内存中存储的函数,a仍然是函数

// function a(){

// console.log(a);//a就是当前函数,会把这个函数打印出来

// }

// a();

 

// var a = 3;//报错

// function a(){

// console.log(a);

// }

// a();

 

// var a = 3;

// a = function(){

// console.log(a);//打印当前函数

// }

// a();

 

//括号内的内容叫做参数(形参) 相当于局部变量

// function a(a){

// console.log(a);//优先局部变量

// }

// a(3);

 

// var b = 3

// function a(){

// var b = 5;

// console.log(b);//局部变量优先

// }

// a();

 

// var b = 3;

// function a(){

// console.log(b);//变量提升,相当于先var a,console.log之后 又 b = 5,所以最后是undefined

// var b = 5;

// }

// a();

 

// var b = 3;

// function a(){

// console.log(b);//局部的b未声明,所以访问全局

// b = 5;

// }

// a();

 

// var b = 3;

// function a(b){

// console.log(b);//5 输出带入的参数

// var b = 10;

// console.log(b);//10 优先访问最近的变量

// }

// a(5);

 

// function b(){

// console.log(b);//参数没有使用var声明,内部的函数优先覆盖了参数

// function b(){

 

// }

// }

// b(100);

 

// function b(){

// console.log(b);//输出undefined 因为函数也有变量提升 相当于先var a,console.log之后 又 function,所以最后是undefined

// var b=function b(){

 

// }

// }

// b(100);

 

// function b(){

// var b = 3;

// console.log(b);//3 因为使用了var定义局部变量,所以覆盖了内部的函数

// function b(){

 

// }

// }

// b();

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值