作用域 预解析

作用域

域:空间 范围 区域

作用:读、写

1.script  全局变量 全局函数 自上而下一块执行完毕执行下一块

2.函数  由里到外

浏览器

js解析器

1.找一些东西:根据关键字 var function  参数

     a=未定义  

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

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

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

  JS预解析(形成一个仓库)

  注:遇到重名的,只留一个

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

例1:

var a=1;

function fn1(){

  alert(a);   //undefined  函数作用域

  var a=2;

}

fn1();

alert(a);  // 1

例2

var a=1;

function fn1(){

  alert(a);   //1  

  a=2;

}

fn1();

alert(a);  // 2

2.逐行解读代码

 表达式:=  + - * / % ! ++ -- 参数     能够改变值的动作

 表达式可以改预解析的值

alert(a);  //function a(){alert(4);}

var a=1;

alert(a);   //1

function a(){alert(2);}

alert(a);   //1

var a=3;   //3

alert(a);

function a(){alert(4);}

alert(a);

a();    //报错

转载于:https://www.cnblogs.com/miumiu316/p/6397094.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值