猿问

闭包问题?

functionbibao(i){
returnfunction(e){
deleteS(i);
}
}
for(vari=0;idocument.write("
  • "+freshdreamdata[i]+"
  • ");
    }
    貌似闭包写的方法不对,一直不显示deleteS效果
    有人说不是闭包问题?如果不用闭包,直接onmousedown='deleteS(i)'则不显示任何效果
    如在for里加上_i=this.i,则只出最后一个i的数值。
    还有人说要写成bibao('+i+'),汗我不懂为什么要那么写,总之好像还是没有效果
    墨色风雨
    浏览 291回答 2
    2回答

    慕容3067478

    楼主的代码里有很多我看不懂的地方,我据姑且的认为楼主想要实现这么一个效果:有个存储数据的数组freshdreamdata,生成一个列表,列表里的内容与freshdreamdata一一对应。当用户点击列表里的项目时就调用deleteS并将项目的号码传递给它。一开始楼主肯定会这样写for(vari=0;i

    12345678_0001

    for循环中的i,你应该希望输出到bibao的参数中去,实际上没有……当然,你可能是想引发一个闭包问题,那当我没说……bibao(i)返回一个lambda,你是要执行它吗?你应该输入bibao(i)()这个例子中有一些缺失的函数,我就拿最简单的代替了。以下代码是可以拷贝到console直接运行的:functionbibao(i){returnfunction(e){alert(i);}}for(vari=0;i
    随时随地看视频慕课网APP

    相关分类

    JavaScript
    我要回答