當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS中引入闭包
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>00_引入</title>
</head>
<body><button>測試1</button>
<button>測試2</button>
<button>測試3</button>
<!--
需求: 點擊某個按鈕, 提示"點擊的是第n個按鈕"
-->
<script type="text/javascript">var btns = document.getElementsByTagName('button')/* //有問題for(var i=0,length=btns.length;i<length;i++) {var btn = btns[i]btn.onclick = function () {alert('第'+(i+1)+'個')}}*///解決一: 保存下標/*for(var i=0,length=btns.length;i<length;i++) {var btn = btns[i]btn.index = ibtn.onclick = function () {alert('第'+(this.index+1)+'個')}}*///解決辦法: 利用閉包for(var i=0,length=btns.length;i<length;i++) {(function (i) {var btn = btns[i]btn.onclick = function () {alert('第'+(i+1)+'個')}})(i)}
</script>
</body></html>
總結(jié)