function foo(){
function bar(){
return 3;
}
return bar();
function bar(){
return 8;
}
}
1.这个函数返回的是8
function foo1(){
var bar1=function(){
return 3;
};
return bar1();
var bar1=function(){
return 8;
}
}
2.这个函数返回是3
alert(foo2());
function foo2(){
var bar2=function(){
return 3;
};
return bar2();
var bar2=function(){
return 8;
}
}
3.这个函数返回的也是3
function foo3(){
return bar3();
var bar3=function(){
return 3;
};
var bar3=function(){
return 8;
}
}
4.这个函数返回的是bar is not a function
ps:从上面四个函数里面我得到两个知识点
1.return后面的代码不执行
2.function函数体会被提升,提升到当前作用域顶部
3.return一般放在函数体内,要是没有放在函数体内会报错 :Uncaught SyntaxError: Illegal return statement
over~~~~~欢迎补充
更多专业前端知识,请上 【猿2048】www.mk2048.com