为了账号安全,请及时绑定邮箱和手机立即绑定

js问题,求解

js问题,求解

诺森德的凛冽寒风 2015-04-15 17:16:17
代码如下function a () { var scope="global";   function t(){      console.log(scope);      var scope="local"      console.log(scope);   }   t();}a();如此 控制台输出 undefined 和local但是如果去掉“ var scope="local"  , console.log(scope); ”,function a () {var scope="global";  function t(){      console.log(scope);  }  t();}a();控制台输出为global   这是为什么
查看完整描述

1 回答

已采纳
?
慕郎_莲华

TA贡献83条经验 获得超16个赞

首先局部变量会覆盖全局变量,其次是js函数中的变量声明要提前~t方法中的var 会在方法开始就声明scope,此时值为undefined,所以打印会是undefined。下面就是scope赋值操作了,被赋予local,所以下面打印会是local。

查看完整回答
反对 回复 2015-04-15
  • 1 回答
  • 1 关注
  • 1383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信