基本概念函数
一、只要是函数就能够创造做用域spa
二、函数中又能够再建立函数code
三、函数内部的做用域能够访问函数外部的做用域对象
四、若是有多个函数嵌套,那么就会构成一个链式访问结构,这就是做用域链blog
<script> //f1--->全局 function f1() { //f2--->f1--->全局 function f2() { //f3---->f2--->f1--->全局 function f3() { } //f4--->f2--->f1---->全局 function f4() { } } //f5--->f1---->全局 function f5() { } } </script>
变量的搜索原则ip
一、首先在所在的做用域中查找作用域
二、若是找到了 就直接使用io
三、若是没有找到 就去上级做用域中查找function
四、若是直到0级做用域链也就是全局做用域尚未找到,报错class
在new Function中,在没有指定参数的状况下,函数中的Function对象做用域指示的又是全局
<script> var x= 123; function f(){ var x = 100; //g.[[scope]] == window var g = new Function("","alert(x)"); g(); } f();//结果为:123 </script>