var a =10,
b =20
console.log(a)
function fn(x){
var a =100,
c =300;
console.log('fn()', a, b, c, x)
function bar(x){
var a =1000,
d =400
console.log('bar()', a, b, c, d, x)}bar(100)bar(200)}fn(10)
console.log(a)
var a =10,
b =20
console.log(a)
function fn(x){
var a =100,
c =300;
console.log('fn()', a, b, c, x)
function bar(x){
var a =1000,
d =400
console.log('bar()', a, b, c, d, x)}bar(100)bar(200)}fn(10)
console.log(a)
分析:
三、作用域与链
由里向外一层层查找,知道找到为止
四、面试题
var x =10;
function fn(){
console.log(x);}
function show(f){
var x =20;f();}show(fn);
分析:作用域在代码执行前就已经确定,所以最终的输出结果为10
结果: 10
例二
var fn = function (){
console.log(fn)}fn()
var obj ={
fn2: function (){
console.log(fn2)}}
obj.fn2()