[TOC]
## 1.创建十个<a></a>标签点击的时候弹出对应的序号
```
/* 错误写法 i 为全局作用域 ,i一直为10 */
var i, a
for (i = 0; i < 10; i++) {
a = document.createElement('a')
a.innerHTML = i + '<br />'
a.addEventListener('click', function (e) {
e.preventDefault();
alert(i) //自由变量,要去父级作用域获取值
})
document.body.appendChild(a)
}
```
```
//正确写法
var i
for (i = 0; i<10;i++){
(function(i){
// 函数作用域
var a = document.createElement('a')
a.innerHTML = i + '<br />'
a.addEventListener('click',function(e){
e.preventDefault()
alert(i) //自由变量,要去父级作用域获取值 获取到的值是当前函数的i
})
document.body.appendChild(a)
})(i) //创建了十个函数,
}
```
- 效果实例
- 1.点击增加高度
- 2.tab页面切换
- 3. 列表切换
- 4. 隔行变色
- 5. swiper 轮播
- 6.vue
- 7.定时器
- 8. 向表格中添加数据
- 9 瀑布流
- 1.JavaScript基础
- 1. 变量
- 2. 调试
- 3.数据类型
- 4.转换
- 5.控制语句
- 6.运算
- 7. this
- 8 JSON对象和javascript对象的相互转换
- 2.JavaScript的控制语句
- 1. 基本控制语句
- 2.节点
- 2.1DOM补充
- 3. 函数
- js的模块化如何解决
- 不知道有什么用的
- 4.数组
- 5. String
- 补充
- 6.Ajax
- 1. 原生Ajax
- 2. HTTP/get/post
- 3.jQuery-Ajax
- 4.跨域
- 5.axios
- 6.封装
- Ajax效果
- ajax补充
- 7. 正则
- 1.创建正则表达式
- 2. 正则的api
- 3.正则语法
- 4.例子
- 量词
- 8.面向对象
- 1.原型
- ES6
- 模块化
- 1.回调地狱
- 什么是回调地狱
- 简单封装
- promise解决回调地狱
- generator解决回调地狱
- async解决回调地狱
- 2.封装
- Ajax,promise
- JavaScript难点
- 1. 闭包/作用域
- 2.原型链
- 3. 兼容性
- 适配
- JavaScript小效果
- 字符串截取