function fn1(){ console.log(1); } function fn2(){ console.log(2); } fn1.call(fn2); // 输出1 fn1.call.call(fn2); // 输出2
看到这个问题,之一反应是蒙圈的。
fn1.call(fn2); 这个是明白的。
fn1.call.call(fn2);这个蒙圈了。
有些绕,需要多念叨念叨琢磨琢磨。
call 方式是Function.prototype原型上天生自带的方式,所有的函数都可以挪用的。
我以为 call方式自己没有详细return什么出来,以是是undefined。
Function.prototype.call=function call(context){ // [native code] // call方式的功效 // 1. 把指定函数中的this指向context // 2. 把指定函数执行 // 那么call方式中的this,即为指定函数。也就是说 // 1. 把this中 的 this关键字指向context; // 2. 把指定函数执行this(); };
根据上面的明白
以是挪用的是 fn1 ,此时fn1中的 this 指向的是 fn2。
然则这个方式内里并没有使用this,而是直接输出了1。
根据上面的明白
以是挪用的是 fn2(这里有些绕,多念叨念叨琢磨琢磨),此时fn1.call中的this指向的是fn2。
它改变了call方式(Function.prototype原型上的call)的this指向。
此处挪用了call方式中的this,即挪用了fn2,输出了2。
来自:https://segmentfault.com/a/1190000019654594
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
也许你听过SEO,也玩过SEO,但并没有听说过内容营销。 那么,今天我们就来聊聊SEO与内容营销方面到底有什么差别,一共分为三步走: 1、SEO与内容营销是什么2、内容营销与SEO有什么区别3、紧...
今天的蚂蚁庄园每日一题的问题是和斗牛有关系的,5月22日庄园小课堂的问题是斗牛士在斗牛时为什么要使用红色的布?很多玩家都不知道答案是什么,小编我特意整理了和斗牛相关的资讯,下面小编就为大家带来了答案,...
手机存储卡必须联接到电脑。打开软件,挑选U盘/电话卡/照相机卡,点一下逐渐扫描仪,等候扫描仪进行,挑选修复的基本数据类型,启用要修复的文档,点一下逐渐修复,设定好修复途径,点一下逐渐修复就可以。...
我要找师傅黑客相关问题 qq黑客中心网址相关问题 黑客怎么读取苹果ID锁 黑客盗qq密码软件激活码(黑客技术盗qq密码视频)...
最近有一个说法,互联网全面进入精英时代,草根创业者互联网大势已去,互联网新贵的学历一个比一个好看,学霸成为行业主角。 当然,确实存在这个趋势,但这个事情如何解读呢? 第一、大学扩招...
在搜索引擎优化的进程中,你常常会发明一个问题,那就是,你之前写的一段内容,在时间之后,你发明它没有任何排名。 发生这个问题的主要原因包罗: ①内容很少被复制,链接被获取。这意味着内容质量不高。 ②你写...