原文:javascript中apply、call和bind的区别

在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。在说区别之前还是先总结一下三者的相似之处: 都是用来改变函数的this对象的指向的。 第一个参数都是this要指向的对象。 都可以利用后续参数传参。那么他们的区别在哪里的,先看一个例子。 var xw name : 小王 , gender : 男 , age : , say : function alert this.n ...

2015-05-18 20:11 11 51763 推荐指数:

查看详情

JavaScriptcall,apply,bind方法的总结。

why?call,apply,bind干什么的?为什么要学这个?   一般用来指定this的环境,在没有学之前,通常会有这些问题。 我们是想打印对象a里面的user却打印出来undefined是怎么回事呢?如果我们直接执行a.fn()是可以的。 这里能够打印是因为 ...

Thu Feb 25 18:29:00 CST 2016 13 47837
call bind apply区别

call() 和apply()的第一个参数相同,就是指定的对象。这个对象就是该函数的执行上下文。 call()和apply()的区别就在于,两者之间的参数。 call()在第一个参数之后的 后续所有参数就是传入该函数的值 ...

Mon Oct 19 23:03:00 CST 2020 0 446
apply,call,bind区别

js中有三个改变this指针的方法,分别是 applycallbind。很多人只知道能改变的this,但是具体的适用场景不是太清楚。我也是遇到坑后不断的实践发现了区别callapply方法: 在Food类,因为使用了call改变类Product的类的this执 ...

Sun Mar 03 20:00:00 CST 2019 0 3380
callapplybind区别

javascript callapply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。 JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变 ...

Mon Sep 11 06:59:00 CST 2017 0 2379
bindapplycall区别

改变函数内部this指针的指向函数: 通过applycall改变函数的this指向,他们两个函数的第一个参数都是一样的表示要改变指向的那个对象,第二个参数,apply是数组,而call则是arg1,arg2...这种形式。通过bind改变this作用域会返回一个新的函数,这个函数不会马上执行 ...

Thu Sep 19 06:36:00 CST 2019 0 462
JScall()和apply()以及bind()的区别

一、方法定义: apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。 call:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.call(A, args1,args2);即A对象调用B对象 ...

Wed Jul 31 00:49:00 CST 2019 0 3124
JavaScript】深入理解call,以及与applybind区别

一、call call有两个妙用 1、继承(我前面的文章有提到用call实现call继承,有兴趣可以看下。https://www.cnblogs.com/pengshengguang/p/10547624.html) 2、修改函数运行时this的指向(今天要说 ...

Sun Jul 14 23:29:00 CST 2019 0 455
applycall 以及 bind 的使用和区别

一、被applycall调用的函数没有传递参数 (一)不传参数 结果: (二)传递 null 结果: 总结: 1.当使用 applycall去调用函数并且没有传递参数时,前提这个函数也没有传递参数,我们发现 他们的打印结果和 this 指向是相同的 都是指向 ...

Tue Dec 01 20:30:00 CST 2020 0 429
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM