每日一题周总结#03
关注公众号 前端人,回复“加群”
添加无广告优质学习群
昨日题目
下面代码的输出是什么?
var number = 5;
var obj = {
number: 3,
fn1: (function () {
var number;
this.number *= 2;
number = number * 2;
number = 3;
return function () {
var num = this.number;
this.number *= 2;
console.log(num);
number *= 3;
console.log(number);
}
})()
}
var fn1 = obj.fn1;
fn1.call(null);
obj.fn1();
console.log(window.number);
A: 10,9,3,27,20
B: 6,NaN,5
C: 5,NaN,6
D: 10,9,5
答案选
A
题解
【01】首先匿名自执行函数运行后,变为
var number = 5;
var obj = {
number: 3,
fn1: function () {
var num = this.number;
this.number *= 2;
console.log(num);
number *= 3;
console.log(number);
}
}
此时:
this.number *=2 ;
//this为window,所以window.number =10;
number = number*2;
//那么,number 为NaN
number= 3;
//number为3。
SO:
window.number =10
number =3
【02】var fn1 =obj.fn1;
那么 fn1 就是
function(){
var num = this.number;
//...
}
【03】fn1.call(null) ;
如果将 null 或者是 undefined 作为 this 的绑定对象传入 call、apply 或者是 bind,这些值在调用时会被忽略,实际应用的是默认绑定规则。
等同于运行下面的函数:
function () {
var num = window.number;
window.number *= 2;
console.log(num);
number *= 3;
console.log(number);
}
然后:
var num = window.number;//num =10;
window.number *= 2; // window.number = 20;
console.log(num); //10
number *= 3; //3*3 = 9;
console.log(number);//9
SO:
num =10;
number =9;
window.number =20;
输出了10,9
【04】obj.fn1();
等同于运行:
fn1: function () {
var num = this.number;
this.number *= 2;
console.log(num);
number *= 3;
console.log(number);
}
此时:this为obj对象。
var num = this.number; // num = 3;
this.number *= 2; //obj.number*2=6
console.log(num);//3
number *= 3;// number = 27;
console.log(number);//27
【05】console.log(window.number);
输出20即可。
【06】最后结果:
//10
//9
//3
//27
//20
本周答题正确人员分布
周三 | ||
---|---|---|
🌙是个哑巴 | 皕圩 | ~邪恶的渣儿 |
殆知 | 零零发 Heley | 陈凤平 |
🍥元宝儿 | 韦 | Curtain |
🦔 | 沃金 | hajime |
萌萌萌 | Ziv Zachary😎 | Charlie |
喂喂喂 | Anthony | Orange |
风吹过的发型更自然 |
周四 | ||
---|---|---|
皕圩 | 🌙是个哑巴 | 😃 |
水波不兴 | hajime | 佟斌左 |
🍥元宝儿 | Alloc@Init | hwl😏 |
Lx | 沃金 | Curtain |
ԅ(¯ㅂ¯ԅ) | Orange | 随 |
郭之存 | 萌萌萌 | L |
H。 |
周五 | ||
---|---|---|
🌙是个哑巴 | 还好还好 | 风吹过的发型更自然 |
weiyouc | hajime | L |
斯盖酱 | 随 | 萌萌萌 |
Curtain | ԅ(¯ㅂ¯ԅ) | 青火 |
进入送书抽奖名单 | ||
---|---|---|
🌙是个哑巴 | hajime | Curtain |
以上三位小伙伴记得加我微信,群里争夺本周奖品名额,切记一定要
关注公众号
,我刚刚在公众号后台搜不搜这其中部分小伙伴的信息了。
记得来主动找我,拉你进群,2021/03/22日(星期一)早上10点,在前端人技术交流④群
抽奖
玩法介绍
评论区给出你的答案,并且点个在看
,每天的每日一题答案由下一天给出,欢迎参与每日一题,一周连续答对5题者,周六任性的鬼哥抽取送前端书籍一本(根据中奖者喜欢自行选择一本)
本周题目
题库小程序
最后
大家记得关注公众号后,置顶公众号
,才能第一时间接收前端每日一题
的文章推送
回复 资料包
领取我整理的进阶资料包回复 加群
,加入前端进阶群console.log("文章点赞===文章点在看===置顶公众号")
Bug离我更远了,下班离我更近了
评论