JavaScript中 call和apply】的更多相关文章

JavaScript中call.apply个人理解 一句话即通俗的说:call.apply 是为了改变this的状态而存在的 }; } function personInfo(name,age){ this.name = name; this.age = age; } personInfo.prototype = { showInfo:function(){ console.log('我是'+this.name+','+'今年'+this.age+'岁.'); } } ); p.showInfo…
一.前言    不知道大家还记不记得前几篇的文章:<面试官:能解释一下javascript中的this吗> 那今天这篇文章虽然是介绍javascript中bind.apply和call函数,但是多少也和this有点关联. 假如在前面那场面试末尾,面试官不依不饶继续问你javascript中的this,那看完本篇文章后一定还会有收获. (本篇文章不会站在this的角度去回答问题,而是重于解释bind.apply和call这三个函数的用法和使用场景) 二.正戏开始 面试官:能解释一下javascr…
下面有关JavaScript中 call和apply的描述,错误的是? call与apply都属于Function.prototype的一个方法,所以每个function实例都有call.apply属性 两者传递的参数不同,call函数第一个参数都是要传入给当前对象的对象,apply不是 apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入 call传入的则是直接的参数列表.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象. 正确答案:…
在 javascript之 this 关键字详解 文章中,谈及了如下内容,做一个简单的回顾: 1.this对象的涵义就是指向当前对象中的属性和方法. 2.this指向的可变性.当在全局作用域时,this指向全局:当在某个对象中使用this时,this指向该对象:当把某个对象的方法赋值给另外一个对象时,this会指向后一个对象. 3.this的使用场合有:在全局环境中使用:在构造函数中使用,在对象的方法中使用. 4.this的使用注意点,最重要的一点就是要避免多层嵌套使用this对象. 对this…
javascript在函数创建的时候除了自己定义的参数外还会自动新增this和arguments两个参数 javascript中函数也是对象,call.apply.bind函数就是函数中的三个函数,这三个函数的作用就是改变调用当前函数中this指向. call.apply.bind三个函数接收两个参数,第一个参数都是函数执行指向对象的this,第二参数是函数执行传递的参数数据,call和bind传递数据是变长参数,apply传递数据是数组.call和apply是立即执行的,而bind是返回一个函…
在上一章http://www.cnblogs.com/meiyh/p/6207671.html 我有提到javascript很重要的this关键字,现在我们结合这个关键字使用的下面的两个关键字: call(对象,参数...)   apply(对象,[参数]) 以上代码我们来改成call和apply写法: var a = { num: 4 }; var b = { num: 8 }; a.sum = function (count) { this.num += count; return this…
Function.prototype.apply()|Function.prototype.call() apply()方法可以在使用一个指定的 this 值和一个参数数组(或类数组对象)的前提下调用某个函数或方法.call()方法类似于apply(),不同之处仅仅是call()接受的参数是参数列表. 简而言之: apply()一个this,多个参数 call()   一个this,一个参数 语法 fun.apply(thisArg[, argsArray])|fun.call(thisArg[…
一.探索call方法原理 Function.prototype.call = function(obj) { // 1.让fn中的this指向obj // eval(this.toString().replace("this","obj")); // 2.让fn方法再执行 // this(); } function fn1() { console.log(1); console.log(this); } function fn2() { console.log(2)…
 在 javascript之 this 关键字详解文章中,谈及了如下内容,做一个简单的回顾:         1.this对象的涵义就是指向当前对象中的属性和方法.       2.this指向的可变性.当在全局作用域时,this指向全局:当在某个对象中使用this时,this指向该对象:当把某个对象的方法赋值给另外一个对象时,this会指向后一个对象.       3.this的使用场合有:在全局环境中使用:在构造函数中使用,在对象的方法中使用.       4.this的使用注意点,最重要的…
在js中call和apply它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别,下面我来给大家介绍一下call和apply用法: 在web前端开发过程中,我们经常需要改变this指向,通常我们想到的就是用call方法: 说明:a.call(b,arg1,arg2..)就是a对象的方法应用到b对象上 a.apply(b,[arg1,arg2,....])也是a对象的方法应用到b对象上,只不过是第二个参数不一样而已: 例如: function add(a,b){alert(…