文章目录 apply、call apply、call 区别 apply、call实例 数组之间追加 获取数组中的最大值和最小值 验证是否是数组(前提是toString()方法没有被重写过) 类(伪)数组使用数组方法 面试题 bind 绑定函数 偏函数(Partial Functions) 和setT ...
分类:
移动开发 时间:
2019-05-01 11:58:34
阅读次数:
199
我们知道,每个函数在调用的时候会产生一个执行上下文环境,而这个执行上下文环境中包含了诸如 this 等等信息。即当我们调用函数的时候,内部的 this 已经明确地隐式绑定到了某一个对象上。如果我们希望更换 this 的指向,我们该如何更改? call/apply/bind 这三个函数能够满足我们的需 ...
分类:
移动开发 时间:
2019-04-24 17:48:33
阅读次数:
165
bind : bind绑定完this的指向后会返回一个新的函数体,不会被立即调用 call apply : 绑定完this的指向后会立即调用 call : 第一个参数是this的指向,第二个以及后面的所有参数需要一个个进行传递 apply : 第一个参数是this的指向,第二个参数是一个数组 ...
分类:
移动开发 时间:
2019-04-09 09:40:34
阅读次数:
190
在js中每个函数都包含两个非继承而来的方法:call()和apply() call和apply的作用都是在特定的作用域中将函数绑定到另外一个对象上去运行,即可以用来重新定义函数的执行环境,两者仅在定义参数方式上有所区别 它们接收参数方面不同:call和apply的第一个参数都是需要调用的函数对象,在 ...
分类:
移动开发 时间:
2019-03-07 11:37:48
阅读次数:
216
1. cat.jumps 打印结果为: 7 使用箭头函数 打印结果为9 2. call apply bind扔不能改变this指向 打印结果为blue; 使用箭头函数: 打印结果为: red; 由于箭头函数没有自己的this,所以当然也就不能用call()、apply()、bind()这些方法去改变 ...
分类:
其他好文 时间:
2019-02-15 13:12:52
阅读次数:
186
一,普通继承: 继承思想:通过改变父类的执行环境,调用父类的构造函数,并改变父类的this指向。 缺点:父类中可变的属性,子类在继承属性时,值为undefined; 要解决上面出现的小bug,就需要借助call,apply,bind来继承。 二,call,apply,bind继承: 继承原理:在子类 ...
分类:
其他好文 时间:
2019-02-12 13:08:23
阅读次数:
166
其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解! 先看明白下面: obj.objAge; //17 obj.myFun() //小张年龄undefined 例2 shows() //盲僧 比较一下这两者this 的差别,第一个打印里面的this 指向obj,第二个全局声明的shows ...
分类:
移动开发 时间:
2019-01-25 15:11:44
阅读次数:
269
this、apply、call、bind 这又是一个面试经典问题~/(ㄒoㄒ)/~~也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是了解一下 this 的指向和 call、apply、bind 三者的区别。 this 的指向 在 E ...
分类:
移动开发 时间:
2019-01-12 15:32:10
阅读次数:
225
理解 JavaScript this 文章中已经比较全面的分析了 this 在 JavaScript 中的指向问题,用一句话来总结就是:this 的指向一定是在执行时决定的,指向被调用函数的对象。当然,上篇文章也指出可以通过 call() / apply() / bind() 这些内置的函数方法来指 ...
分类:
移动开发 时间:
2019-01-05 16:42:19
阅读次数:
212
在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。 call、apply、bind方法的共同点和区别:apply 、 call 、bind 三者都是用来改变函数的this对象的指向的;apply 、 call ...
分类:
移动开发 时间:
2018-12-31 13:52:40
阅读次数:
253