H5基础知识第十一课时(JS解决变量自提升问题)
来源:互联网 发布:电脑软件助手 编辑:程序博客网 时间:2024/05/29 18:49
解决变量自提升
<ul>
<li id="zhangSan">张三</li>
<li>李四</li>
<li>王五</li>
<li>孙六</li>
<li>田七</li>
</ul>
<button id="changeBtn">变!!!</button>
/*最原始方法 有变量自提升现象*/
var allList = document.getElementsByTagName("li");
for(var i=0;i<allList.length;i++) {
/*当你进入网页时,function方法虽然加载了,但是没有执行,只有当你点击时才会执行。
但是这时i早已经自加成最后一个数*/
allList[i].addEventListener("click",function () {
var content = allList[i].innerHTML;
alert(content);
})
}
/*解决JS变量自提升的方法:*/
/*ES6的let常量方法*/
var allList = document.getElementsByTagName("li");
for(let i=0;i<allList.length;i++) {
allList[i].addEventListener("click",function () {
var content = allList[i].innerHTML;
alert(content);
})
}
/*匿名自调用方法*/
var allList = document.getElementsByTagName("li");
for(let i=0;i<allList.length;i++) {
(function (i) {
allList[i].addEventListener("click",function () {
var content = allList[i].innerHTML;
alert(content);
})
}
)(i);
}
<ul>
<li id="zhangSan">张三</li>
<li>李四</li>
<li>王五</li>
<li>孙六</li>
<li>田七</li>
</ul>
<button id="changeBtn">变!!!</button>
/*最原始方法 有变量自提升现象*/
var allList = document.getElementsByTagName("li");
for(var i=0;i<allList.length;i++) {
/*当你进入网页时,function方法虽然加载了,但是没有执行,只有当你点击时才会执行。
但是这时i早已经自加成最后一个数*/
allList[i].addEventListener("click",function () {
var content = allList[i].innerHTML;
alert(content);
})
}
/*解决JS变量自提升的方法:*/
/*ES6的let常量方法*/
var allList = document.getElementsByTagName("li");
for(let i=0;i<allList.length;i++) {
allList[i].addEventListener("click",function () {
var content = allList[i].innerHTML;
alert(content);
})
}
/*匿名自调用方法*/
var allList = document.getElementsByTagName("li");
for(let i=0;i<allList.length;i++) {
(function (i) {
allList[i].addEventListener("click",function () {
var content = allList[i].innerHTML;
alert(content);
})
}
)(i);
}
阅读全文
0 0
- H5基础知识第十一课时(JS解决变量自提升问题)
- H5基础知识第十一课时(JS查看节点)
- H5基础知识第十一课时(JS调试快捷键)
- H5基础知识第十一课时(className属性)
- H5基础知识第九课时(JS运算符)
- H5基础知识第九课时(JS判断语句)
- H5基础知识第九课时(JS循环语句)
- H5基础知识第八课时(JS使用方式与变量的声明)
- H5基础知识第八课时(JS数据类型和输出方法)
- H5基础知识第十课时(JS函数定义和分类)
- H5基础知识第十课时(JS函数调用和内部属性)
- H5基础知识第十二课时(JS添加CSS样式)
- H5基础知识第十二课时(事件)
- H5基础知识第十三课时(JQuery)
- H5基础知识第六课时(CSS)1
- H5基础知识第六课时(CSS)2
- H5基础知识第七课时(CSS)
- H5基础知识第七课时(CSS定位)
- 一般处理程序上传文件到Web服务器
- mybatis
- web前端关于html转义符的常用js函数
- do{...}while(0)的意义和用法
- centos运维常用方法
- H5基础知识第十一课时(JS解决变量自提升问题)
- Junit 中after与afterclass 区别
- Java方法的可变参数个数
- iOS-内存管理
- 文档记录
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- C++笔记 类型转换,IO,STL标准模板库
- 4、Java递归
- Trafodion 安装之HBase配置优化