JavaScript-104:预解析案例

案例1:

var num = 10;
fun();
function fun () {
  console.log(num);
  var num = 20;
}

// 相当于执行了以下操作
var num;
function fun () {
  var num;
  console.log(num);
  var num = 20;
}
num = 10;
fun();

案例2:

var num = 10;
function fn () {
  console.log(num);
  var num = 20;
  console.log(num);
}
fn();

// 相当于以下代码
var num;
function fn () {
  var num;
  console.log(num);
  num = 20;
  console.log(num);
}
num = 10;
fn();

案例3:

var a = 18;
f1();
function f1 () {
  var b = 9;
  console.log(a);
  console.log(b);
  var a = '123';
}

// 相当于以下代码
var a;
function f1 () {
  var b;
  var a;
  b = 9
  var b = 9;
  console.log(a);
  console.log(b);
  var a = '123';
}
a = 18;
f1();

案例4:

f1();
console.log(c);
console.log(b);
console.log(a);
function f1 () {
  var a = b = c = 9;
  console.log(a);
  console.log(b);
  console.log(c);
}
// 相当于是按照以下代码进行执行的
function f1 () {
  var a;
  a = b = c = 9;
  // var a = b = c = 9; 相当于 var a=9,b=9,c=9; b和c直接赋值 没有var声明当全局变量看
  console.log(a);  // 9
  console.log(b);  // 9
  console.log(c);  // 9
}
f1();
console.log(c);  // 9
console.log(b);  // 9
console.log(a);  // 报错 因为a是局部变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

臧小川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值