首页 > Web开发 > 详细

js中方法的行内绑定和动态绑定的区别

时间:2016-05-12 02:02:09      阅读:430      评论:0      收藏:0      [点我收藏+]

js中方法的行内绑定和动态绑定的区别

<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

   <div id="mydiv">aaaaa</div>
    <div id="mydiv1" onclick="test();">bbbbb</div>
     <div id="mydiv2" onclick="test2(this);">bbbbb</div>
</body>

<script type="text/javascript" >
document.getElementById(‘mydiv‘).onclick=test1;
//相当于  对象.属性=test1,相当于对象拥有了test1属性,this指向当前对象
function test1(){
 this.style.color=‘red‘;
}
function test(){
 this.style.color=‘red‘;
}
function test2(t){
 t.style.color=‘red‘;
}
//1.我们在js定义的所有的全局变量 和方法,都是需要附属在window上的,当成window的属性,所以在test方法中的
//this指向window,不是当前元素,所以test方法执行报错。在js中,规定,函数被哪个元素调用,this指向这个元素。
//当方法被动态绑定时,是当前元素调用方法,当行内绑定时,如果不在方法中传入当前对象,方法中的this指向window。

</script>
</html>

js中方法的行内绑定和动态绑定的区别

原文:http://www.blogjava.net/yangjunwei/archive/2016/05/11/430446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!