4,008
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/style.css" />
<script type="text/javascript">
function load(){
alert(this);
}
</script>
</head>
<body>
<div>
<img onload="load()" src="images/1.jpeg" alt="" />
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="css/style.css" />
<script type="text/javascript">
function load(){
alert(this);
}
</script>
</head>
<body>
<div>
<img id="img1" src="images/1.jpeg" alt="" />
<script>
img1.onload = load;
</script>
</div>
</body>
</html>
onload=function (event) {
load()
}
img标签真正的onload事件是外层那个匿名函数function (event)
load()函数是作为单纯函数调用的,this指向全局对象
1.当函数作为对象的方法调用时,this指向该对象。
2.当函数作为单纯函数调用时,this指向全局对象(严格模式时,为undefined)
我认为我上面的代码应该是上面两句话中的第一种情况,就是img对象调用这个方法,然后也应该输出img标签的信息,但是结果,却是第二种输出情况,难道img标签onload事件不能算是对这个方法的调用吗