apply 和 call 的区别 ECMAScript 规范给所有函数都定义了 call 与 apply 两个方法,它们的应用非常广泛,它们的作用也是一模一样,只是传参的形式有区别而已。 apply( ) apply 方法传入两个参数:一个是作为函数上下文的对象,另外一个是作为函数参数所组成的数组。 ...
分类:
移动开发 时间:
2020-10-06 20:09:03
阅读次数:
34
借用构造函数 这种技术的基本思想很简单,就是在子类型构造函数的内部调用超类型的构造函数。另外,函数只不过是在特定环境中执行代码的对象,因此通过使用apply()和call()方法也可以在新创建的对象上执行构造函数。 function Box(name){ this.name = name } Box ...
分类:
Web程序 时间:
2020-07-18 19:46:58
阅读次数:
73
this 是 js 里绕不开的话题,也是非常容易混淆的概念,今天试着把它理一理。 this 在非严格模式下,总是指向一个对象,在严格模式下可以是任意值,本文仅考虑非严格模式。记住它总是指向一个对象对于理解它的意义很重要。this 在实际使用中,大致分为以下几种情况: 函数作为对象的方法调用时,thi ...
分类:
移动开发 时间:
2020-06-12 00:39:28
阅读次数:
65
apply() 方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。 语法:func.apply(thisArg, [argsArray]) apply()和call()类似,区别在于call()接收参数列表,而apply()接收一个参数数组,所以我们在call()的 ...
分类:
移动开发 时间:
2020-04-07 22:07:39
阅读次数:
116
一.前言 不知道大家还记不记得前几篇的文章:《面试官:能解释一下javascript中的this吗》 那今天这篇文章虽然是介绍javascript中bind、apply和call函数,但是多少也和this有点关联。 假如在前面那场面试末尾,面试官不依不饶继续问你javascript中的this,那看 ...
分类:
移动开发 时间:
2020-02-10 18:15:22
阅读次数:
68
apply和call都可以改变this的指向 函数的调用,改变this的指向 本来f1函数是window对象的, 但是传入obj之后, f1函数此时就是obj对象的 //apply和call都可以改变this的指向 //函数的调用,改变this的指向 function f1(x, y) { cons ...
分类:
移动开发 时间:
2020-01-08 14:19:59
阅读次数:
98
它们均可以改变this指向 apply和call简单的说都是一样的东西,只是参数不同 obj.Fun.call(nd); obj.Fun.apply(nd); 其中call可以传多个参数,apply只能传两个参数 obj.Fun.call(nd,xx,xx); obj.Fun.apply(nd,[x ...
分类:
移动开发 时间:
2019-12-10 16:57:17
阅读次数:
89
apply : Function.apply(obj, args)接收两个参数: obj: 改变Function的this指向,使其指向obj; args: 传入给函数的数组参数; call: Function.call(obj, param1, param2, param3...) obj: 改变 ...
分类:
移动开发 时间:
2019-11-24 12:13:24
阅读次数:
106
(一)apply()和call()的区别 apply接受两个参数,第一个参数指定了函数体内this对象的指向,第二个参数为一个带下标的集合,这个集合可以为数组,也可以为类数组, apply方法把这个集合中的元素作为参数传递给被调用的函数。 let func = function(a,b,c){ co ...
分类:
移动开发 时间:
2019-11-13 16:32:34
阅读次数:
95
借用构造函数继承是在子类型构造函数的内部调用超类型狗在函数,通过使用apply()和call()方法 function girlFriend(){ this.girls = ['chen','wang','zhu']; } function Person(){ girlFriend.call(thi ...
分类:
编程语言 时间:
2019-11-06 12:58:54
阅读次数:
71