首页
学习
活动
专区
工具
TVP
发布

js call方法_recall

每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 2. 相同点: 这两个方法的作用是一样的。...一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。...changeColor.call(window); //red changeColor.call(document); //yellow changeColor.call(this); //...call()方法 第一个参数和apply()方法的一样,但是传递给函数的参数必须列举出来。 语法:call([thisObject[,arg1 [,arg2 [,......说明: call方法可以用来代替另一个对象调用一个方法,call方法可以将一个函数的对象上下文从初始的上下文改变为thisObj指定的新对象,如果没有提供thisObj参数,那么Global对象被用于thisObj

84720
您找到你想要的搜索结果了吗?
是的
没有找到

Js apply() call()使用详解

Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记...主要我是要解决一下几个问题: apply和call的区别在哪里 什么情况下用apply,什么情况下用call apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply...和call的定义,然后用示例来解释这两个方法的意思和如何去用....Function.call(obj,[param1[,param2[,…[,paramN]]]]) obj:这个对象将代替Function类里this对象 params:这个是一个参数列表 1.apply...示例 在Studen函数里面可以将apply中修改成如下: Person.call(this,name,age); 这样就ok了 3.什么情况下用apply,什么情况下用call 在给对象参数的情况下,

1.4K60

js中的call和apply

一、call和apply简介 call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。 两个方法都使用了对象本身作为第一个参数。...两者的区别在于第二个参数: apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。...二、call和apply的相同点和不同点 1. 区别 call传递的参数是序列1,2,3,4 apply传递的参数是集合型[1,2,3,4] 2....相同点 call和apply是替换前面函数内部的this指针以及传递参数。 功能:可以自动执行前面的函数 都有两个参数:a. 替换的对象 b....console.log(this,a,b,c);//{name: "张三", age: 20} 1 2 3 } method.call(obj,1,2,3); 方法2:使用apply

1.4K30

jscall、apply、bind那些事

前言 回想起之前的一些面试,几乎每次都会问到一个js中关于call、apply、bind的问题,比如… 怎么利用call、apply来求一个数组中最大或者最小值 如何利用call、apply来做继承 apply...call、apply的区别 他们俩之间的差别在于参数的区别,call和aplly的第一个参数都是要改变上下文的对象,而call从第二个参数开始以参数列表的形式展现,apply则是把除了改变上下文对象的参数放在一个数组里面作为它的第二个参数...call、apply、bind的常见应用场景。...,-67,5,7,6,-8,687); 将伪数组转化为数组 js中的伪数组(例如通过document.getElementsByTagName获取的元素)具有length属性,并且可以通过0、1、2…下标来访问其中的元素...length属性 ) 数组追加 在js中要往数组中添加元素,可以直接用push方法, var arr1 = [1,2,3]; var arr2 = [4,5,6]; [].push.apply

1.6K60

jscall、apply、bind那些事

前言 回想起之前的一些面试,几乎每次都会问到一个js中关于call、apply、bind的问题,比如… 怎么利用call、apply来求一个数组中最大或者最小值 如何利用call、apply来做继承 apply...所以其实他们干的事从本质上讲都是一样的动态的改变this上下文,但是多少还是有一些差别的.. call、apply与bind的差别 call和apply改变了函数的this上下文后便执行该函数,而bind...call、apply的区别 他们俩之间的差别在于参数的区别,call和aplly的第一个参数都是要改变上下文的对象,而call从第二个参数开始以参数列表的形式展现,apply则是把除了改变上下文对象的参数放在一个数组里面作为它的第二个参数...,-8,687); 将伪数组转化为数组 js中的伪数组(例如通过document.getElementsByTagName获取的元素)具有length属性,并且可以通过0、1、2…下标来访问其中的元素...length属性 ) 数组追加 在js中要往数组中添加元素,可以直接用push方法, 1234567 var arr1 = [1,2,3];var arr2 = [4,5,6];[].push.apply

1.7K50

划重点:js中的this、call、apply

js中this有4种指向,分别为: 作为对象的方法调用 作为普通函数调用 构造器调用 Function.prototype.call或Function.prototype.apply调用 1、当作为对象的方法调用时...方法赋值给新的变量func2时,func2就是一个全局作用域中的普通函数,而非obj对象中的方法,已经与getName方法是两个完全独立的方法,拥有完全不同的作用域上下文*/ 3、在构造器中调用this 先要理解js...(obj2)) //sxm 对于call和apply的理解 要想理解上文第4点中的call调用改变this的具体实现原理,需要先了解call和apply的作用。...关于apply或call,两者的作用完全一致,都是更改调用apply或call的函数体内的this对象指向。...延伸应用: 理解了this、call、apply后,在实际js开发中,可以很方便的实现对象的继承 继承demo1: 1var Parent = function(){ 2 this.name

94920

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券