为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript的.call()方法理解

JavaScript的.call()方法理解

慕姐8265434 2019-03-13 14:19:02
今天在理解.call()方法上出现了问题,自己给自己讲不明白了...var obj = {    name: 'linxin'}function func() {    console.log(this.name);}func.call(obj);       // linxin问题一 : A.call(B),可以理解为A继承了B吗?要是可以的话,问题二 :下边这个怎么变成了B继承A了呢?var Person1  = function () {    this.name = 'linxin';}var Person2 = function () {    this.getname = function () {        console.log(this.name);    }    Person1.call(this);}var person = new Person2();person.getname();       // linxin.call()的A和B要怎么理解 ? 怎么来形容比较好理解一些...现在看的有点脑溢血
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

很好理解,.call() 方法是改变函数内部的 this 指向,在 Person2 中调用 Person1 时,把 Person1 内部的 this 指向修改为 Person2 的 this 了。构造继承。


查看完整回答
反对 回复 2019-03-22
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

call和apply的区别是传递参数的方式不一样,但作用都是为要执行的方法重新绑定一个this,类似用B来调用A的方法。


查看完整回答
反对 回复 2019-03-22
  • 3 回答
  • 0 关注
  • 367 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信