资讯专栏INFORMATION COLUMN

call和apply的区分

kaka / 2931人阅读

摘要:此文章以最简短的方式记录自己对和,欢迎指正错误,我会及时更新理解,希望对各位的查阅有帮助首先抛出具体代码,方便理解将实例中的方法,借用给实例。带若干个参数将实例中的方法,借用给实例。

此文章以最简短的方式记录自己对call和apply,欢迎指正错误,我会及时更新理解,希望对各位的查阅有帮助

首先抛出具体代码,方便理解

function A(){
  this.say = function(name, age){
    console.log(name, age)
  }
}

function B(){
  this.walk = function(){
    console.log("I am walking")
  }
}

const a_ins = new A()
const b_ins = new B()

// 将a实例中的方法say,借用给b实例。call带若干个参数
a_ins.say.call(b_ins, "wangkj", 18) // wangkj 12
// 将a实例中的方法say,借用给b实例。apply带一个参数(该参数为数组,依次带参数)
a_ins.say.apply(b_ins, ["wangkj", 18]) // wangkj 12
相同:

call和apply都是一个对象实例(A的实例)的方法(say)借用给另一个对象实例(B的实例),这样B(没有say方法)就可以使用到A的方法(say)

不同:

call带若干个参数,
apply带一个参数(该参数为数组,依次带参数,如["wangkj", 18])

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101174.html

相关文章

  • this总结【2】—— call/applybind

    摘要:和概览我们要将归为一类,单独归为一类三者的共同点是都可以指定和都是绑定在的原型上的,所以的实例都可以调用这三个方法至于为什么,看完这篇文章你就懂了如果你不懂什么是实例的话,请移步深入浅出面向对象和原型概念篇深入浅出面向对象和原型概念篇第一个 1.call/apply和bind概览 我们要将call/apply归为一类,bind单独归为一类 三者的共同点是都可以指定this call/...

    wudengzan 评论0 收藏0
  • 我所理解JavaScript中 undefined与null区别

    摘要:他们的布尔值都是,说到布尔值为的,通常包括空字符串这五种常见的对象。各自都是孤家寡人,不用拖家带口的,一人吃饱全家不饿。 举个简单的栗子: A和B两个人肚子都很饿,要去吃饭。A已打电话到饭店预约位置,B则打算下班后考察下再做决定。对于饭店来说,A基本上就是他的客户了,只不过还没见到人来,定为null(毕竟交易还没产生),而对饭店来说,B是谁啊,他们根本没听到过这个人,为undefine...

    sf190404 评论0 收藏0
  • 你还没搞懂this?

    摘要:一前言关键字是中最复杂的机制之一。对于那些没有投入时间学习机制的开发者来说,的指向一直是一件非常令人困惑的事。随着函数使用场合的不同,的值会发生变化。还可以传值,在严格模式下和非严格模式下,得到值不一样。 一、前言 this关键字是JavaScript中最复杂的机制之一。它是一个很特别的关键字,被自动定义在所有函数的作用域中。对于那些没有投入时间学习this机制的JavaScript开...

    dance 评论0 收藏0
  • 你还没搞懂this?

    摘要:一前言关键字是中最复杂的机制之一。对于那些没有投入时间学习机制的开发者来说,的指向一直是一件非常令人困惑的事。随着函数使用场合的不同,的值会发生变化。还可以传值,在严格模式下和非严格模式下,得到值不一样。 一、前言 this关键字是JavaScript中最复杂的机制之一。它是一个很特别的关键字,被自动定义在所有函数的作用域中。对于那些没有投入时间学习this机制的JavaScript开...

    linkin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<