作用域
域:空间 范围 区域
作用:读、写
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(); //报错
时间: 2024-10-31 10:03:27