1:作用域
函数时唯一一个可以创建作用域的对象
-
什么是作用域
就是某个变量起作用的范围 -
全局作用域
在页面的任意位置可以访问的作用域,在script标签构成的
2:变量和函数的提升
js的执行过程:
预解析阶段:变量和函数的提升(声明提前);
变量和函数的提升
js代码时一个从上至下逐步解析的过程,这个过程之前会把所有的变量和函数提前声明.
console.log(a); //undefined 而不是报错
var a = 10;
f1(); //f1而不是报错
function f1(){
console.log("f1");
}
这段代码会先把var a与函数提前申明,如下所示:
var a; //变量a 提前声明,但是没有赋值
function f1(){//函数也会提前拿声明
console.log("f1");
}
console.log(a);//声明没有定义,结果就是undefined
a=10;
f1(); //结果为f1
**具体会出现的问题和集中情况:
①:变量和变量同名的情况,后面的变量会把前面的变量覆盖;
var n1= "n1";
console.log(n1);
function
网友评论