<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <pre> 您好! 您好! </pre> </body> </html> <script> function show(){ var b=2; a=++b; } show(); console.log(a); </script>
因为在函数中,a 的前面没有var ,所以 变量a 是全局作用域,所以在函数的任意部分都能够访问到变量a ,所以打印出来的是 数字 3
var b = 1; function a(){ console.log(b); if(!b){ var b = 2; } console.log(b); } a(); console.log(b);
依次打印出来的是 undefined 2 1 ,考察的是作用域的问题