测试代码: 1.test(3); 结果:3,1 函数中this指向window对象 2.test.call(thisObj,param1,param2....); thisObj:test函数中this的指向 param1,param2...:传给test函数的参数 3.test.call(null ...
分类:
移动开发 时间:
2016-09-10 20:30:20
阅读次数:
159
为什么要使用call,apply,bind 先看一个普通的对象: 我们对上面的函数做一些调整: 这个时候不会再输出“大雄你好我是多啦A梦”因为在第二个例子中this已经不是obj而变成了window而window中并没有name属性。 为了能够达到我们预期的效果我们,我们可以使用call,apply ...
分类:
移动开发 时间:
2016-08-31 00:36:56
阅读次数:
179
在 javascript之 this 关键字详解 文章中,谈及了如下内容,做一个简单的回顾: 1.this对象的涵义就是指向当前对象中的属性和方法。 2.this指向的可变性。当在全局作用域时,this指向全局;当在某个对象中使用this时,this指向该对象;当把某个对象的方法赋值给另外一个对象时 ...
分类:
移动开发 时间:
2016-08-30 19:45:29
阅读次数:
279
this的指向:普通函数内的this指向全局变量 构造函数内部this指向新创建出来的对象 对象方法内的this指向的是调用该方法的对象 call,apply,bind可以改变this的指向 ...
分类:
其他好文 时间:
2016-08-08 21:06:06
阅读次数:
147
新手:在看Javascript高级程序设计时看到 每个函数都包含两个非继承而来的方法:apply()和call()。在ECMAScript5中还添加了一个方法bind()。 apply()方法与call()方法的作用其实是相同的,他们的区别在于接收参数的方式不同。对于call()方法要求参数都是直接 ...
分类:
移动开发 时间:
2016-07-12 17:14:11
阅读次数:
298
JS中的call、apply、bind方法 一、call()和apply()方法 1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一 ...
分类:
移动开发 时间:
2016-06-24 12:23:10
阅读次数:
201
call 每个func 都会继承call apply等方法。 call(thisAgr,agr1,agr2...) ,call方法第一个传递一个context上下文。后面是参数的个数。 apply apply(thisAgr,[agr1,agr2]),apply方法和call的用法一样,只是传递的参 ...
分类:
移动开发 时间:
2016-06-03 21:09:44
阅读次数:
245
在JavaScript 中,this的指向是动态变化的,很可能在写程序的过程中,无意中破坏掉this的指向,所以我们需要一种可以把this的含义固定的技术,于是就有了call,apply 和bind这三个方法,来改变函数体内部 this 的指向,因为函数存在「定义时上下文」和「运行时上下文」以及「上 ...
分类:
移动开发 时间:
2016-05-30 08:51:21
阅读次数:
284
1、call(),apply(),bind()方法JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。简单的说就是改变函数执行的上下文,这是最基本的用法。两个方法基本区别在于传参不同。
call(obj,arg1,arg2,arg3); call第一个参数传对象,可以是null。参数以逗号分...
分类:
移动开发 时间:
2016-05-27 11:51:21
阅读次数:
204
自从学会call/apply/bind这三个方法后我就各种场合各种使用各种得心应手至今还没踩过什么坑,怎么用?说直白点就是我自己的对象没有某个方法但别人有,我就可以通过call/apply/bind去调用执行别人家的方法,不太懂具体用法的同学可移至MDN学习一下Function.prototype. ...
分类:
移动开发 时间:
2016-05-06 21:41:34
阅读次数:
213