再议js闭包
来源:互联网 发布:淘宝小二判决申诉 编辑:程序博客网 时间:2024/05/20 17:07
前两天去百度面试,被问到了这个问题:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </title> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <script type="text/javascript"> <!-- window.onload=function(){var btns=document.getElementsByTagName("input");for(var i=0;i<btns.length;i++){btns[i].onclick=(function(k){return function(){ alert(k);}})(i);}}//错误的写法/*window.onload=function(){var btns=document.getElementsByTagName("input");for(var i=0;i<btns.length;i++){ btns[i].idx=i;btns[i].onclick=function(){ alert(this.idx+"|"+i);}}}*/ //--> </script> </head> <body> <input type="button" value="b1" /><br/> <input type="button" value="b2" /><br/> <input type="button" value="b3" /><br/> <input type="button" value="b4" /><br/> </body></html>
今天查了查资料,问了下公司里专业的js程序员,大概搞清楚了这个问题,就是如上的两种写法,一种错误的,一种正确的,但是说实话,还是感觉有点晕。
有清楚的同学给详细解释一下吧。
- 再议js闭包
- js闭包示例
- JS 闭包 计数器
- js闭包
- js 闭包
- js闭包
- js闭包
- js闭包
- js 闭包
- js 闭包
- js闭包
- js闭包
- (function (){})(); JS 闭包
- JS 闭包应用
- js闭包
- JS闭包
- JS 闭包随笔
- js闭包
- 指尖上的Android之实战篇(三)
- unexpected end of file while looking for precompiled header directive 错误
- 浅谈网络语音技术
- cocos2d-html5 代码测试和html5盘旋菜单实现
- WinCE6 建立APN拨号连接的经验分享
- 再议js闭包
- c++电子书
- oracle 静态静态和动态监听
- runloop创建
- time.h函数
- android 仿淘宝的加载刷新效果
- VC++实现IE定向劫持跳转
- poj 3468 A Simple Problem with Integers 线段树!!!!
- Pocket TV:将普通电视变身50英寸超大“iPad平板”