JS中如何运用call()和apply()实现函数调用,并举例说明其应用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1210个文字,预计阅读时间需要5分钟。
原文示例:本文实例讲述了JS中call()和apply()的功能及用法。分享给家长供大家参考,具体如下:
+ call()和apply()的作用首先引出问题:用call()和apply()的目的究竟是什么?
来看一个例子,在JavaScript OOP中:
function Person(name, age) { this.name=name; this.age=age;}
var person=new Person('Alice', 25);
console.log(person.name); // Aliceconsole.log(person.age); // 25
// 使用call()和apply()改变this的指向var anotherPerson={ name: 'Bob'};
Person.call(anotherPerson, 'Alice', 30);console.log(anotherPerson.name); // Aliceconsole.log(anotherPerson.age); // 30
Person.apply(anotherPerson, ['Alice', 30]);console.log(anotherPerson.name); // Aliceconsole.log(anotherPerson.age); // 30
改写后:本文以实例展示了JS中call()和apply()的功能与用法。
本文共计1210个文字,预计阅读时间需要5分钟。
原文示例:本文实例讲述了JS中call()和apply()的功能及用法。分享给家长供大家参考,具体如下:
+ call()和apply()的作用首先引出问题:用call()和apply()的目的究竟是什么?
来看一个例子,在JavaScript OOP中:
function Person(name, age) { this.name=name; this.age=age;}
var person=new Person('Alice', 25);
console.log(person.name); // Aliceconsole.log(person.age); // 25
// 使用call()和apply()改变this的指向var anotherPerson={ name: 'Bob'};
Person.call(anotherPerson, 'Alice', 30);console.log(anotherPerson.name); // Aliceconsole.log(anotherPerson.age); // 30
Person.apply(anotherPerson, ['Alice', 30]);console.log(anotherPerson.name); // Aliceconsole.log(anotherPerson.age); // 30
改写后:本文以实例展示了JS中call()和apply()的功能与用法。

