查看文章 |
关键字: Javascript 闭包 说实话我还是不很理解这个闭包的概念,总的来说感觉闭包就是一个函数所要引用的执行环境~ 好,先不废话,出题(厄,也是从网上搜罗来的): var div = document.getElementById("testDiv"); 上段代码所要表达的意思很明确,就是给这个testDiv加上3个事件处理函数,分别alert clicked,changed和mouse over. 但是实际运行的时候发现,不管哪个事件被触发,弹出来的alert都是 mouse over. 请问,到底哪里错了?该怎么改~ 诸位先想,等会我会给出正确写法,虽然我自己也还不是很明白。 ----------------------------------------------------- 我看到这段代码的时候大约能觉得他写错了,也知道哪里错了,但不知道错误的执行结果为什么是那样,也不知道该怎么写才对(我遇到过这种问题,都是使用一种不是很雅的方法解决的。) 好,正确的写法上场(前两句一样,所以只写不一样的部分): for(e in events){ 诸位看官…… 那个,反正我是没太懂,晕呼了。 这个问题涉及到Javascript的闭包概念…… 而闭包的官方解释有太头像太拗口……没理解。 如果各位有什么比较容易理解的闭包解释,欢迎跟帖,不胜感激…… |