您现在的位置是:主页 > news > 给家乡做网站/衡阳百度seo

给家乡做网站/衡阳百度seo

admin2025/4/30 1:12:18news

简介给家乡做网站,衡阳百度seo,外贸网站外包,wordpress修改自己的头像匿名函数自执行 一般来说,我们写这样一段代码,因为事件异步,所以每次点击都打印n(lis的长度),因为你点击的时候,因为点击事件是异步的,所以他并不会影响 i 的自增,所以当…

给家乡做网站,衡阳百度seo,外贸网站外包,wordpress修改自己的头像匿名函数自执行 一般来说,我们写这样一段代码,因为事件异步,所以每次点击都打印n(lis的长度),因为你点击的时候,因为点击事件是异步的,所以他并不会影响 i 的自增,所以当…

匿名函数自执行

一般来说,我们写这样一段代码,因为事件异步,所以每次点击都打印n(lis的长度),因为你点击的时候,因为点击事件是异步的,所以他并不会影响 i 的自增,所以当点击的时候,i已经自增结束了。

    var lis = document.getElementsByTagName('li');for(var i=0;i<lis.length;i++){lis[i].onclick = function(){console.log(i);}};}

而现在我们想要的效果是,点击第几个li就显示几,可以使用匿名函数自执行来实现,匿名函数自执行有很多种形式,给函数在外面加一个(),前面加符号+、~、!这三种也都可以,这里写一种,

// var lis = document.getElementsByTagName('li');for(var i=0;i<lis.length;i++){(function(i){lis[i].onclick = function(){console.log(i);   };})(i);}

此时你再点击每一个li就是显示li的下标,从0开始,从1开始,打印i+1即可。
这时是相当于n(lis的长度)次调用了匿名函数,每次i都是一个参数传入匿名函数中。

//匿名函数形式(function(){console.log(123);})(); +function(){   console.log(123);}();~function(){   console.log(123);}();!function(){    console.log(123);}();

添加自定义属性

当然也有很多别的方法,比如你可以给li设置属性,保存下它的下标值,然后每次点击输出他的下标值

        for(var i=0;i<lis.length;i++){    lis[i].index= i;lis[i].onclick = function(){   console.log(this.index);                    };}

设置属性是比较通用,便于理解的方法。