call()是一个对象可以继承、使用另一个对象的函数的方法,是一种拿来主义的办法。这个要和this来配合使用。
var xyj = {
name: '孙悟空',
age: 1000,
gender: '男',
jieshao: function() {
return "姓名:" + this.name + "\n年龄:" + this.age + "\n性别:" + this.gender;
},
jieshao2: function(loc) {
return loc + ":\n" + "姓名:" + this.name + "\n年龄:" + this.age + "\n性别:" + this.gender;
}
};
var xyj2 = {
name: '猪八戒',
age: 800,
gender: '男',
}
var intro = xyj.jieshao.call(xyj2);
console.log(intro);
var intro2 = xyj.jieshao2.call(xyj2, '高老庄');
console.log(intro2);
这篇博客介绍了JavaScript中call()方法的使用,展示了如何通过call()改变函数调用时的上下文(this),并结合示例解释了如何在不同对象间共享函数。在示例中,xyj对象的jieshao和jieshao2方法被通过call()方法应用于xyj2对象,从而改变了this的指向,输出了不同的介绍信息。
1124

被折叠的 条评论
为什么被折叠?



