每一个Function对象都有一个apply()方法和一个call()方法A对象有一个方法,而B对象因为某种不可言说的情况也需要用到一样的方法,那么这时候我们是单独为B扩展个方法呢,还是借用一下A的方法呢?当然是借用A的啦,既完成了需求,又减少了内存的占用apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法...
原创
2023-02-23 21:22:53
359阅读
ECMAScript规范给所有函数都定义了call 与 apply 两个方法,call与apply的第一个参数都是需要调用的函数对象,在函数体内这个参数就是this的值,剩余的参数是需要传递给函数的值,具体如下:
转载
2017-07-05 14:42:40
486阅读
点赞
看这个apply真正应用。bind这是一个绑定时间的函数 var bind=function(object,type,fn){ if(object.attachEvent){//IE浏览器 object.attachEvent("on"+type,(function(){ return functi
转载
2016-04-29 15:40:00
80阅读
2评论
call方法的官方解释为:
调用一个对象的一个方法,以另一个对象替换当前对象。
call([thisObj[,arg1[, arg2[, [,.argN]]]]])
参数
thisObj
可选项。将被用作当前对象的对象。
arg1, arg2, , argN
可选项。将被传递方法参数序列。
说明
call 方法可以用来代替另一个对象调用一个方法
转载
精选
2010-08-15 18:15:45
609阅读
文章目录一 使用:二 异同三 两个方法该如何选择?一 使用:function log (...args) { console.log(...args)}function log () { console.log.apply(console, arguments)}log(1, 2, 3)log.bind()call()定义:调用一个对象的一个方法,以另一个对象替换当前对象。调用call的对象必须是个函数functioncall
原创
2021-01-27 09:38:18
363阅读
Javascript中的apply与call详解 JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。 一、方法定义 1、call 方法 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法
原创
2014-12-03 13:44:01
53阅读
前天去面试,有个gg问了一些js知识,其中有一道call与apply用法的题目,尽管在365天前用过call方法,但当时还是没能答上来,今天深入总结一下c
转载
2011-07-08 10:29:00
80阅读
2评论
call和apply,它们的作用都是将函数绑定到另外一个对象上去运行
两者的格式和参数定义:
call( thisArg [,arg1,arg2,… ] ); // 参数列表,arg1,arg2,...
apply(thisArg [,argArray] ); &n
转载
精选
2012-12-27 23:47:32
425阅读
JavaScript中的每一个Function对象都有一个apply()方法和一个call()方法,它们的语法分别为: /*apply()方法*/ function.apply(thisObj[, argArray]) /*call()方法*/ function.call(thisObj[, arg ...
转载
2021-09-09 10:33:00
144阅读
2评论
方法定义call方法:语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 t
原创
2013-09-02 08:56:56
932阅读
一、callcall(thisObj,arg1,arg2,arg...)定义:调用一个对象的方法,以另一个对象替换当前对象。说明:call方法可以用来代替另一个对象调用一个方法。call方法可以将一个函数对象的上下文改变为由thisObj指定的新对象。thisObj的取值有以下几种情况:(1)不传,或者为null,undefined时,函数中的this指向window对象;(2)传递另一个函数的函
原创
2018-04-19 16:09:37
1017阅读
点赞
ECMAScript v3给所有函数定义了两个方法call()和apply()。使用这两个方法可以像调用其他对象的方法一样调用函数。call()和apply()都是要调用的函数的对象,在函数体内这一参数是关键字this的值。call()的剩余参数是传递给要调用的函数的值。例如,要把两个数字传递给函数f(),并将他作为对象o的方法调用,可以用如下代码: f.call(o,1,2);...
转载
2007-08-16 22:13:00
91阅读
2评论
1、thisJavaScript中的this,总是指向一个对象 ,而具体指向哪个对象是在运行时基于函数的执行
原创
2022-08-03 11:08:05
85阅读
一、call方法的定义关于call的定义都很拗口。在我的理解,a.call(b,arg1,arg2..)就是a对象的方法应用到b对象上。例如如下例子:function add(a,b)
{
alert(a+b);
}function reduce(a,b)
{
alert(a-b);
}
add.call(reduce,1,3) //将add方法运用到reduce,结
转载
2017-05-18 09:44:08
554阅读
* apply和call方法的作用:用来改变this的指向 * apply和call方法中如果没有传入参数,或者传入的是null,那么调用该方法的函数对象中this的指向为window(默认) * apply和call都可以让函数或者方法来调用,传入的参数和函数调用的写法不同,但是效果是一样的 * 如果传入的不是null,而是其他对象
原创
2023-05-19 15:14:41
70阅读
apply与call的作用apply与call的作用是在特定的作用域中调用函数举个例子,这是函数没有参数的情况num = 1;// 默认声明到全局作用域function logNum() { console.log(this.num);
}
logNum(); // 1logNum.apply({ num: 99 });// 99logNum.call({ num: 88 });// 88复制
转载
2021-01-24 19:15:51
177阅读
2评论
1. 概念每个函数都包含两个非继承而来的方法:apply()和call()。call与apply都属于Function.prototyp递给函数的参数必须逐个列举出来。apply():传
原创
2023-05-19 15:27:54
54阅读
1.找出数组中的最大值 let arr = [1, 2, 3, 4, 8, 10] let maxArr = Math.max.apply(null, arr) console.log(maxArr) // 10 2.将类数组转换为真正数组 function fn(){ console.log(ar ...
转载
2021-10-06 10:47:00
110阅读
2评论
【优雅代码】深入浅出 妙用Javascript中apply、call、bind (转载而来) 这篇文章实在是很难下笔,因为网上相关文章不胜枚举。 巧合的是前些天看到阮老师
转载
2019-02-13 09:53:00
91阅读
2评论
this问题对于每个前端同学来说相信都不陌生,在平时开发中也经常能碰到,有时候因为this还踩过不少坑,并且this问题在面试题中出现的概率也非常高,我们一起来了解一下this
原创
2022-04-12 15:58:44
224阅读