欢迎光临
我们一直在努力

作用域、JS预解析机制

作用域:

域:空间、范围、区域,作用:读、写

“JS解析器”

1)“找一些东西”var  function 参数

  a = … 

    所有的变量,在正式运行代码之前,都提前赋了一个值:未定义(undefined)。

  fn1 = function fn1(){ alert(2); }

    所有的函数,在正式运行代码之前,都是整个函数块。

  这个过程叫 JS的预解析。

  遇到重名的:只留一个。

  变量和函数重名了,就只留下函数。

2)逐行解读代码:

  表达式:= + – * / % ++ — ! 参数……

  表达式可以修改预解析的值!

例:

<script>
var a = 1;
function fn1(a){
  alert(a);    // undefined
  a = 2;
}
fn1();
alert(a);    // 1

var b = 1;
function fn2(b){
  alert(b);    // 1
  b = 2;
}
fn2(b);
alert(b);    // 1
</script>
赞(0) 打赏
未经允许不得转载:前端学习分享网 » 作用域、JS预解析机制

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏