<!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 ,考察的是作用域的问题
JS作用域demo
原文地址:https://www.cnblogs.com/agansj/p/8280944.html