这里推荐一本设计模式的javascript书. 《JavaScript设计模式与开发实践》。作者是腾讯大牛曾探。 我每天都会在里面抽出我受到的理解,作为我的读书笔记。今天就昨天讲的this里面涉及到的call和apply进行书中的讲解。 Function.prototype.call 和 Function.prototype.apply 都是非常常用的方法。它们的作用一模 一样,区别
原创
2021-05-13 21:36:33
221阅读
前言 很基础,放在这里是为了整理前端js的思维导图。 正文 方法定义 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个
转载
2020-06-15 11:44:00
105阅读
2评论
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args-->arguments) --- ...
转载
2015-12-15 15:16:00
121阅读
2评论
每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 call和apply可以用来重新定义函数的执行环境,也就是this的指向;call和apply都是为了改变某个函数运行时的context,即上下文而存在的,换句话说,就是为了改变函数体内部this的指向。 语法 call() ...
转载
2021-04-24 20:51:00
298阅读
有时候我们学这块知识的时候,忽略了这两个使用的重要性 每个函数都包含两个非继承而来的方法:‘call()方法和apply()方法’ ,为了区别这两个方法,从以下来看: 相同点:这两个方法的作用是一样的 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。 一般 ...
转载
2021-08-13 19:22:00
119阅读
2评论
call()、apply()、bind() 都是用来重定义 this 这个对象的! var obj1 = { username: "HuiTaiLang", fn: function() { concole.loh(this); console.log(this.username); } } var ...
转载
2021-10-01 11:04:00
71阅读
2评论
1. 手写call原生call具备的三个功能改变this指向。调用call就是调用函数。(能够返回结果)实现代码function person(a,b,c) { return { name: this.name, a: a, b: b, c: c }}const egg = {name: 'hello'};Function.prototype.myCall = function(obj) { ob
原创
2021-12-16 16:26:09
187阅读
​其实每个函数都包含两个非继承而来的方法:apply()和call()。这两个方法用途都是在特定的作用域中调用函数,实际上等于设置函数体内的this对象的值。
原创
2013-12-01 19:28:28
698阅读
点赞
模拟实现:
转载
2018-07-24 16:33:00
63阅读
2评论
call apply argumentscall apply argumentscall apply argume
原创
2023-05-25 11:06:21
19阅读
coffeescript里,每个文件编译成JS后,都是(function(){...}).call(this);的架势这个call,该怎么理解呢?在javascript里面,call 或者 apply 用于使并未定义某个函数的对象也可以使用该函数。换言之,它扩展了该对象,让它忽然多了一个函数。cal...
转载
2014-12-08 21:12:00
116阅读
2评论
apply的使用方法 函数名字.apply(对象,[参数1,参数2,...]); 方法名字.apply(对象,[参数1,参数2,...]); call的使用方法 函数名字.call(对象,参数1,参数2,...); 方法名字.cal(对象,参数1,参数2,...); 作用:改变this的指向 不同的
转载
2019-02-13 10:09:00
107阅读
2评论
1. 手写call原生call具备的三个功能改变this指向。调用call就是调用函数。(能够返回结果)实现代码function person(a,b,c) { return { name: this.name, a: a, b: b, c: c }}const egg = {name: 'hello'};Function.prototype.myCall = function(obj) { ob
原创
2022-02-25 14:02:11
173阅读
call:改变调用者的this指向,this指向参数一eg:b.call( a, param1,param2,param3··· ···) //即a对象调
原创
2019-06-30 20:56:39
59阅读
function fun(a,b){ console.log("a = "+ a); console.log("b = "+ b); alert(this); } var obj= { name:"obj", sayName:function(){ alert(this.name); } }; /*
原创
2021-07-28 15:37:51
81阅读
coffeescript里,每个文件编译成JS后,都是(function(){...}).call(this);的架势这个call,该怎么理解呢?在javascript里面
原创
2022-08-15 15:14:14
122阅读
callcall和apply就是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。function a(name) { console.log(name, 111) console.log(this, 222) }a('fanfei')使用call改变this ...
原创
2021-11-19 13:48:02
125阅读
貌似说 一个对象没有方法处理数据, 一个方法没有对象数据,这样可以两者臭味相投,就好了。----一个函数借助另外一个对象的属性通过自己的方法,从而达到某种改变或者输出数据的目的。2015-5-4 --就是一个函数.call(对象a) 对象a的属性会被运动到这个函数中,自然会输出某个值或者改变点什么东...
转载
2015-05-04 12:52:00
117阅读
2评论
call 1调用函数 2改变函数内的this指向 3实现继承: 构造函数+ 原型对象--组合继承 var obj = { uname: 'lili' } function fn(a, b) { console.log(a + b); console.log(this); } fn.call(); / ...
转载
2021-09-22 21:35:00
101阅读
2评论
this、apply、call、bind
原创
2022-12-17 00:13:01
114阅读