简单的js代码求注释,就几句话

问题描述:

简单的js代码求注释,就几句话
后面的i去掉为什么没效果了.index是什么?说通俗点.
1个回答 分类:综合 2014-12-01

问题解答:

我来补答
(function(index){
// 处理代码
})(i);

楼主一定对上面的代码是怎么执行的完全不明白.在弄清楚为什么去掉i后就没有效果,你必须得先知道这个i到底为什么不能去掉,这种写法又到底是怎么回事.

其实这是一种函数立即调用的写法.也就是定义一个匿名函数,然后立即就执行这个函数.这样的写法相当于:
function tmpName(index){
// 处理代码
}
tmpName(i);
再接近一点的写法如下:
var fn = function(index){
// 处理代码
}
// 函数调用
fn(i);
你把上面的fn换成function(index){},是不是就是和你的那种写法一样了?只不过换后的函数省去了函数名.

很明显,index是形参,而i是在调用时传递的实参.如果不穿进去一个i,那就相当index参数没有了.这样的话,这个函数中用到的index的值就是null.试想,mDD[index]就变成了mDD[null],数组访问可以这样吗?这样不就出异常了吗?也是因此,不传进去i,会导致异常,会出错.
 
 
展开全文阅读
剩余:2000
上一页:函数急