如图所示,第 1 种定义方法是有效的,但是第 2 种显示b方法未定义,请问这是什么原因
在第二种方法里,b()是局部变量,只能在a()的函数体内被访问到。通过onclick="b();"的方式只能访问全局作用域下的b(),很显然全局作用域下b()没有被定义。
b()
a()
onclick="b();"
html的onclick里的b方法指向window.b第一种全局定义,实际上就是window.b第二种b是a方法的局部变量,执行时找不到window.b
<script> function a(){ var b=function(){ alert('try'); } return b; } var c=a(); var newHtml = '<div class="aa" onclick="c();">the new div</div>'; $('body').append(newHtml); </script>
这样应该可以吧
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
在第二种方法里,
b()
是局部变量,只能在a()
的函数体内被访问到。通过onclick="b();"
的方式只能访问全局作用域下的b()
,很显然全局作用域下b()
没有被定义。html的onclick里的b方法指向window.b
第一种全局定义,实际上就是window.b
第二种b是a方法的局部变量,执行时找不到window.b
这样应该可以吧