首页 > 试题广场 >

分析下面javascript代码:functi...

[单选题]
分析下面javascript代码:
<script>
function out(x){
 var temp = 2;
 return function (y){
  document.write( x + y + (++temp));
 }
}
var inside = out(3);
inside(5); 
</script>
输出结果为:
  • 8
  • 9
  • 10
  • 11
很简单的闭包问题,闭包函数可以访问父作用域的变量3 + 5 + 3 = 11
发表于 2019-01-22 20:24:09 回复(0)
out(x)函数的返回值是一个函数,所以var inside = out(3)的inside其实是一个函数,而inside(5)就是返回值函数的参数y为5,所以结果也就是3+5+3=11
发表于 2019-02-24 13:09:40 回复(1)