allInput访问不了的话,你的input又怎么能加事件的呢?
解决方案 »
- ie ff js 对象.filters[0].Apply(); 兼容性问题?
- JS能做出这种翻书效果吗?恳请各位高手出招!
- 求解ExtJS的jsonreader和httpproxy问题-只能显示最后一行数据
- ajax调用一个后台的方法返回值是自定义的对象,传到前台时必须转化成Json格式吗?
- 一个让我超级疑惑的js问题,这样写为什么不行啊??
- 救火啊~如何用JAVASRCIPT 如何实现reset按钮~~~急啊`~``
- 请高手帮忙看一下错误在哪里?
- 求助,如何让网页中超链打开的网页没有菜单,工具栏
- 好久没来了,请教大家一个关于正则的问题
- 请问,如何打开一个很长的网页时,自动来到某位置?
- IE11下onpropertychange的部分实效问题
- jquery插件开发需要考虑哪些方面
for (var a = 0; a < allInput.length; a++)
{
allInput[a].className = '';
}
要用到 allInput, 会现在当前环境先找,是否有变量声明,如果没有 去上一层allInput[i].onclick = function(){xxx} 里找是否有声明
如果还没有 再去上一层for (var i = 0; i < allInput.length; i++){xxxxx} 里 ,结果还没有,就再去上一层找window.onload = function(){var allInput = xxxxx} 这层找到了,为什么不能用
{
for (var a = 0; a < allInput.length; a++)
{
allInput[a].className = '';
}
this.className = 'hongSe';
}
这个吧,按我的理解,就是把整个匿名函数,也就是这段:function()
{
for (var a = 0; a < allInput.length; a++)
{
allInput[a].className = '';
}
this.className = 'hongSe';
}赋给按钮的 onclick 事件,并不去解析或执行里面的任何代码。当按钮被点击时它会执行这个函数,但是这个时候 window.onload 的函数早已执行完毕,allInput 应该被销毁了。它是怎么访问到的?我一定是哪里理解出错了。请各位指正。
函数执行完后,allInput是会被销毁
但是他原先指向的 input 控件并不会销毁
那些匿名函数是绑定在 input 空间上的,自然还是生效的
还有javascript函数的执行环境,活动对象,这些看完,你就会明白了