全局变量和局部变量的练习

第一题

let a = 1;

function b(a) {

   var a

   a = 2

  console.log(a)

}

b(a)

console.log(a)

输出为2 1

因为函数带有参数a 相当于var a;使函数内的2变成了局部变量

第二题

function a (b = c, c = 1) {

  console.log(b, c)

}

a()

会报错,因为形参b=c,c没有定义

第三题

let a = b = 10;

(function(){  

   let a = b = 20  

})()

console.log(a);//10

console.log(b);//20

输出为10 20

因为let a=b=20,相当于 let a=b  b=20;let a=b为局部变量,b=20为全局变量

第四题

var name = 'World';

(function () {

  if (typeof name === 'undefined') {

    var name = "Jack"

    console.info('Goodbye ' + name)

  } else {

    console.info('Hello ' + name)

    log

    debug

    error

  }

})()

输出为Goodbye Jack

因为 声明提前 var name 提前到了if的前面

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值