请教js代码

stszd604 2012-01-13 10:10:03
var arr = new array;

for(var k=0 ; k<3 ; k++)
{


// 1
//arr[k]=function(){document.write(k);}

// 2
//arr[k] = (function (){function(){document.write(k)}}).(k);

}

arr[0];
arr[1];
arr[2];


...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
stszd604 2012-01-13
  • 打赏
  • 举报
回复
thanks b48121905

no explain about describe the question is useful
b48121905 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 stszd604 的回复:]
var arr = new array;

for(var k=0 ; k<3 ; k++)
{


// 1
//arr[k]=function(){document.write(k);}

// 2
//arr[k] = (function (){function(){document.write(k)}}).(k);

}

arr[0];
arr[1];
a……
[/Quote]

首先,你的代码有几处错误。。。
第一,数组应该是Array,而不是array。不是var arr = new array 而是 var arr = new Array();
第二,arr[k]=function(){document.write(k);}这句的意思是想将这个函数赋给对应的arr数组,而你下面的
arr[0];
arr[1];
arr[2];
并不是你想象中的调用该函数。它们只代表了这个函数的定义,如果你想调用它们,需要
arr[0]();
arr[1]();
arr[2]();
这样调用。
第三,这样调用并不能得到你想要的结果,因为它只会返回333。这是作用域的问题,如果你想得到最终结果请像下面一样调用

var arr = new Array();
for (var k = 0; k < 3; k++) {
(function (k) {
var temp = k;
// 1
arr[temp] = function () { document.write(temp); };
})(k);
}

arr[0]();
arr[1]();
arr[2]();


第四,arr[k] = (function (){function(){document.write(k)}}).(k); 这句明显有错。我猜你的意思是想这样: arr[k] = (function(){document.write(k)})(k); 这是立即执行function里面的代码。而他不会返回任何值,所以实际上你给不给arr[k]赋值是一样的。它们最后是undefined。


另外,不清楚你是否想问这些。问问题的话可以讲清楚一点自己想问什么~希望对你有帮助。
专心做码农 2012-01-13
  • 打赏
  • 举报
回复
哪里不明白?
南宫守望 2012-01-13
  • 打赏
  • 举报
回复
应该是在中间被注释掉的那段写代码???
三石-gary 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 stszd604 的回复:]

引用 2 楼 zsx841021 的回复:
问题是什么。。如果是答案的话就自己运行下看吧。。。


问题是:请教js代码
[/Quote]
这是什么问题啊。。不可能你上面代码一点都不懂吧。。。最好把你的问题说的详细点。。
stszd604 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zsx841021 的回复:]
问题是什么。。如果是答案的话就自己运行下看吧。。。
[/Quote]

问题是:请教js代码
stszd604 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q2104574 的回复:]
- -问题都没描述
[/Quote]

qing bu yao wudao bieren .....
三石-gary 2012-01-13
  • 打赏
  • 举报
回复
问题是什么。。如果是答案的话就自己运行下看吧。。。
q2104574 2012-01-13
  • 打赏
  • 举报
回复
- -问题都没描述

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧