新手常误区 - 属性事件调的是全局函数

  • 作者:KK

  • 发表日期:2016.12.21


<button type="button" onclick="test()"></button>
<script/>
$(function(){
	var a = 1;

	function test(){};
});
</script>

这样onclick调用test函数会失败报错,因为以上代码是通过在HTML标签的属性来实现事件绑定的

  • 重要知识点:通过标签属性来触发的执行代码,所涉及的函数调用都会从全局函数里寻找

而上面的示例代码中,test函数则是定义在onload事件里面,所以它其实和前面的变量a一样,人家是一个局部变量,它则是一个局部函数,除非在最外面定义funciton它才能成为全局函数并被标签属性所调用到