1、
var num =10;
fun ();
function fun(){
console.log(num);
var num=20;
}
//结果为undefined
解析器:
全局作用域预解析:先找到var和function----找到之后会把变量的定义和函数提前---从上到下一行一行执行--执行到fun之后,进入局部作用域---局部作用域的预解析----找变量、function和参数-----从上到下一行一行执行代码
//全局作用域预解析
var num;
function fun(){};//找到并不做任何事情,只是记录,当调用的时候再进行局部作用域的解析
num=10;
fun();
//局部作用域预解析
function fun(){
var num;
console.log(num);
num=20;
}
2、 var a = 18;
f1();
function f1(){
var b=9;
console.log(a);
console.log(b);
var a = '123';
}
//全局作用域预解析
var a;
function f1(){}
a=18;
f1();
//局部作用域与解析
function f1(){
var b;
var a;
b=9;
console.log(a);
console.log(b);
a=”123”;
}
3、 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);
}//结果: 9 9 9 9 9 a is not defined
//a是局部变量,b、c是全局变量
六、质数