<script type="text/javascript">
alert("ok");
var a = {
name: "我是a",
show: function () { alert(this.name); },
start: function () {
alert("我是a的方法!");
this.start();
}
},
b = {
name: "我是b",
start: function () { alert("我是b的方法!"); }
};
f=function(){this.start()};
a.start.apply(b); //可以理解为把a对象的start方法借给b对象用一下
</script>
运行结果
依次显示
ok
我是a的方法
我是b的方法
结论:apply就是把一个方法借给另一个对象去运行。方法还是a的只不过b玩了一下,但玩的时候
这个a的这个方法就像是b的方法一样。所以this自然就是b了。就好比把你的游戏机借我玩
一下是一个意思。
感兴趣的朋友
可以测试以下实例
f.apply(b);
f.apply(a);
a.show.apply(b);