码迷,mamicode.com
首页 > 移动开发 > 详细

JS:apply、call、bind的区别

时间:2019-12-21 18:36:33      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:ima   code   函数   style   line   strong   img   inline   one   

首先,它们是什么呢?我们先看call跟apply:

Function.prototype的方法有apply跟call,所以每个函数都包含call、apply属性。

共同点:都可以改变this的指向(this 永远指向最后调用它的那个对象

差异:接收函数参数的方式不同

技术图片

call: 第一个值是让t函数addEvent的this指向为obj对象,随后都是携带的addEvent函数的实参,需要逐个列出来

apply: 第一个值同上, 但是addEvent的实参通通都放在了一个数组中

那bind呢?它的作用也是改变this的指向,不过bind后还是函数,需要再进行调用;

技术图片

===============================================

apply的妙用:

应用场景:

1、让 Math.max()方法可以挑出一个数组的最大值

技术图片

2、合并两个数组(会改变原来的数组哦)

技术图片

JS:apply、call、bind的区别

标签:ima   code   函数   style   line   strong   img   inline   one   

原文地址:https://www.cnblogs.com/hxw1024/p/12077636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!