js中eval()

本文详细解析了JavaScript中的eval函数,探讨了其如何修改全局与局部变量,并通过实例展示了eval在不同作用域下的行为表现。

      看到了eval()的使用方法,虽然未曾用过,但仍是尝试着去理解

      eval()是一个函数,拥有改变全局变量和局部变量的能力

      全局变量:当eval置于最顶层代码中,这时候eavl修改的是全局变量,另外的情况是,eval置于最顶层代码中,但若是将eval赋值给另一个对象,那么调用这个对象修改的是全部变量

      局部变量:当eval置于函数内,修改的是局部变量

具体事例:

      { 

          var k = eval;

          var x = 'global'; var y = "global";

          function f(){

               var x = "local";

               eval("x += 'changed';");

               return x;

          }

            function g(){

               var y = "local";

               k("y += 'changed';");

               return y;

          }

          console.log(f(),x)//localchanged global

          console.log(g(),y);//local globalchanged;

      }

转载于:https://www.cnblogs.com/codechild/p/6663891.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值