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米代金券、领会最新阿里云产物的种种优惠流动点击进入
本文目录一览: 1、黑客帝国1为什么就5分钟 2、黑客帝国每部时间大约多长? 3、黑客帝国2锡安狂欢在第几分钟 4、黑客帝国1为什么只有5分钟 5、黑客帝国的三部,分别是多少分钟的电影...
眼病有哪些(4种眼病,要及早处理治疗!)眼睛对于身体来讲是非常重要的,通过眼睛能感受到外界的美好,而在生活中有一些人因为不注意让自己的眼部受到影响而发生疾病,在发生疾病的时候如果没有特别注意并且及时治...
俗话说得好“酒是粮食精,越喝越年青”,虽然这句话不认真细致。可是也表明了,我们国人中酒的钟爱。殊不知如今目前市面上大部分白酒是液态法白酒,也就是酒精勾兑的乙醇酒。 因此制酒大史兄,想教酒鬼们用...
每当人们觉得某事遥遥无期,甚至不可能实现时,就会用“猴年马月”表达内心的无奈,久而久之,该成语就成了世人的口头禅。然而,此处的“马月”究竟指的是几月份,多少年才能出现一次“猴年马月”的情况呢?估计很多...
虽然吸烟有害健康,但吸烟人数一直在上升,而且从未减少。大多数吸烟的人只花几十元买一盒烟,奢侈的也只有几百元。但对富人来说,他们抽的烟和普通人完全不同,光是价格就要高得多,下面和小编一起来看看世界十大最...
本文目录一览: 1、谁看懂黑客帝国了? 2、《黑客帝国》三部曲谁全看懂了,给俺说说? 3、博大精深的《黑客帝国》三部曲看了N遍了,还是没全看懂,哪位高手给个正解啊,还有他还会继续拍第四部吗?...