请参考 http://www.cnblogs.com/xljzlw/p/3775162.htmlcall applyvar mtt = { name: "mtt", sayHello: function (age) { console.log("hello, i am ", this.name + ...
分类:
移动开发 时间:
2017-09-01 19:44:58
阅读次数:
194
恢复内容开始 先说call //首先用单列模式声明一个对象;里面有个fn的方法,很简单,就是返回a里面的name; var a = { name : '极速代码', fn:function(){ return this.name; } }; a.fn() //-->输出是 ‘极速代码’ ,这个毫无疑 ...
分类:
移动开发 时间:
2017-08-19 14:24:42
阅读次数:
136
js的this指向问题,bind,call,apply的使用以及区别,以及Object.create,prototype的拓展 ...
分类:
移动开发 时间:
2017-08-19 14:13:45
阅读次数:
176
bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。 apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一 ...
分类:
移动开发 时间:
2017-08-17 13:01:15
阅读次数:
243
bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。 apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一 ...
分类:
移动开发 时间:
2017-08-16 13:16:57
阅读次数:
287
call在给fn传递参数的时候,是一个个的传递值的;而apply不是一个个传的,而是把值放在数组中,传过去的。 明确知道参数数量时用call;不确定参数数量时用apply,然后把参数push进数组并传递进去,函数内部也可以通过arguments这个数组来遍历所有的参数。 bind是返回对应函数,便于... ...
分类:
移动开发 时间:
2017-08-10 13:39:05
阅读次数:
291
先来说说call() 和 apply()方法: 在《javascript高级程序设计》中有提到:函数也是对象,函数原型链的顶层实际上是指向Object的。既然函数是对象,那么自然就具有属性和方法。“ 每个函数都包含两个非继承而来的方法 call() , apply() ” call() , appl ...
分类:
移动开发 时间:
2017-08-01 22:56:22
阅读次数:
251
判断this的指向(1-4优先级逐级递减,1优先级最高,4优先级最低): 1、函数被new调用,this指向由new新构造出来的这个对象; 2、函数通过call()、apply()、bind()调用,this指向被绑定的对象; 3、函数作为方法被调用,this指向这个对象(即常说的对象上下文); 4 ...
分类:
其他好文 时间:
2017-07-29 10:18:43
阅读次数:
96
我们是想打印对象a里面的user却打印出来undefined是怎么回事呢?如果我们直接执行a.fn()是可以的。 但是有时候我们不得不将这个对象保存到另外的一个变量中,那么就可以通过以下方法。 1、call() 这里 b.call(a) 的所表达的意思是,将b指向a,这样this就指向了a。 cal ...
分类:
移动开发 时间:
2017-07-12 10:21:08
阅读次数:
278
一个call,apply,bind的例子 一个call,apply,bind的例子 一个call,apply,bind的例子 一个call,apply,bind的例子 ...
分类:
移动开发 时间:
2017-06-29 17:57:50
阅读次数:
159