1.call/apply/bind方法的来源 首先,在使用call,apply,bind方法时,我们有必要知道这三个方法究竟是来自哪里?为什么可以使用的到这三个方法? call,apply,bind这三个方法其实都是继承自Function.prototype中的,属于实例方法。 上面代码中,都返回了 ...
分类:
移动开发 时间:
2018-09-03 19:59:23
阅读次数:
167
在 javascript之 this 关键字详解文章中,谈及了如下内容,做一个简单的回顾: 1.this对象的涵义就是指向当前对象中的属性和方法。 2.this指向的可变性。当在全局作用域时,this指向全局;当在某个对象中使用this时,this指向该对象;当把某个对象的方法赋值给 另外一个对象时 ...
分类:
移动开发 时间:
2018-09-02 11:55:06
阅读次数:
181
之前一直迷惑,记不住call(),apply(),bind()的区别。不知道如何使用,一直处于懵懂的状态。直到有一天面试被问到了这三个方法的区别,所以觉得很有必要总结一下。 如果有不全面的地方,后续再进行补充。 1. 改变this的指向 var obj = { name : '张三', age : ...
分类:
移动开发 时间:
2018-08-13 22:32:16
阅读次数:
177
1、首先 每个Function对象里面都存在call()和apply()方法,及在函数的原型里面 2、语法是 function.apply(thisObj,[a,b,c]) function.call(thisObj,a,b,c) 3、共同点 都是 用来代替另一个对象调用一个方法,将一个函数的对象上 ...
分类:
移动开发 时间:
2018-07-31 13:19:49
阅读次数:
183
在JavaScript中,call、apply和bind是Function对象自带的三个方法,都是为了改变函数体内部 this 的指向。 apply 、 call 、bind 三者第一个参数都是 this 要指向的对象,也就是想指定的上下文; apply 、 call 、bind 三者都可以利用后续 ...
分类:
移动开发 时间:
2018-07-30 21:24:50
阅读次数:
232
不同点: 1.call():传参方式跟bind一样(都是以逗号隔开的传参方式),但是跟apply(以数组的形式传参)不一样, 2.bind(): 此方法应用后的情形跟call和apply不一样。该方法是返回一个改变了this的函数,不会去运行此函数,需要我们去用一个参数接受之后,进行函数的运行操作, ...
分类:
移动开发 时间:
2018-07-03 11:48:13
阅读次数:
134
这三个都是函数自带的方法(Function.prototype),这三个方法都能够改变函数内部 this的指向, call apply bind ...
分类:
移动开发 时间:
2018-07-01 19:28:28
阅读次数:
222
关于console.log有两点要记 1.console.log()不属于console对象的方法调用 而是直接算作函数调用 2.console.log()像极了箭头函数没有自己的this 不能用call()、apply()、bind()这些方法去改变this的指向。 ...
分类:
其他好文 时间:
2018-06-30 14:44:32
阅读次数:
121
1、函数执行上下文中会多出 this,arguments 和 函数参数。 2、call、apply、bind 这三个函数的第一个参数都是this的指向对象,区别在于第二个参数。 3、使用方式 1.call 说明: 参数是直接放进去的,第二第三第n个参数全都用逗号分隔,直接放到后面 形式: func. ...
分类:
移动开发 时间:
2018-06-28 15:19:56
阅读次数:
176