如图所示,第 1 种定义方法是有效的,但是第 2 种显示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>
这样应该可以吧
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
在第二种方法里,
b()
是局部变量,只能在a()
的函数体内被访问到。通过onclick="b();"
的方式只能访问全局作用域下的b()
,很显然全局作用域下b()
没有被定义。