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

这个全局变量是属于哪儿呢?

这个全局变量是属于哪儿呢?

海绵宝宝撒 2019-02-27 13:53:35
function rec(){   b = 'hello';}alert(b);请问这个b是全局变量的话,那么这个全局变量是属于外部,还是属于rec()函数里面的全局变量?var b ;function rec(){   b = 'hello';}alert(b);是这样。。function rec(){   var b;   b = 'hello';}alert(b);还是这样。
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

第一个

function rec(){

   b = 'hello';

}

alert(b);

{}外面的才是全局变量,{}里面的统统都是局部变量。在js里面,所有的全局变量统统指向window,不管你在哪里声明的变量,只要不是关键字(如var、let、const)声明的,统统提升为全局变量。


第二个

var b ;

function rec(){

   b = 'hello';

}

alert(b);

b(加不加关键字都)是全局变量,没有值,打印当然undefined,你把rec()执行以下,他就有值了


第三个

function rec(){

   var b;

   b = 'hello';

}

alert(b);

b加了关键字声明,又在{}内,所以是局部变量,你执行rec()与否,都是undefined


查看完整回答
反对 回复 2019-03-06
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

首先建议看下js的变量提升,了解变量提升的机制

jsfunction作用域;
全局变量指的是window能打点显示出来的,如window.b


查看完整回答
反对 回复 2019-03-06
  • 2 回答
  • 0 关注
  • 400 浏览
慕课专栏
更多

添加回答

举报

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