function box(){ var arr=[]; for(var i=0;i<5;i++){ arr[i]=function(){ return i;}; }

returnarr;}varb=box();alert(b[0]);为什么输出的不是5,而是function(){return1;}谢谢指教着急想知道... return arr;

}
var b=box();

alert(b[0]);
为什么输出的不是5,而是function(){return 1;}
谢谢 指教 着急想知道
展开
 我来答
jjaiyya
2016-12-16 · 超过33用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:32.4万
展开全部

Function类型

1、函数声明语法定义

2、函数表达式定义


函数中的方法采用的是:函数表达式定义

<script>

function box(){ 
    var arr=[]; 
    for(var i=0;i<5;i++){ 
       arr[i]=function(){ return i;}; 
    }

     return arr;
}
    var b=box();
        
    alert(b[4]()); //使用形式
</script>
更多追问追答
追问
document.getElementById("test").innerHTML=box();输出的是五个function{return i;}
追答
document.getElementById("test").innerHTML=box()();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式