前端面试每日一练小题1
每日一练小题1
- 题目
- 解析
- 详细解析
- 1. 逗号表达式
- 2. 匿名函数
- 答案
题目
输入如下代码,问输出什么
var x = 20var temp = {x: 40,foo: function () {var x = 10console.log(this.x)}}(temp.foo,temp.foo)() // 输出?
(答案在最下面~)
解析
(temp.foo,temp.foo)() 是逗号表达式,从左到右执行,右边的赋值 相当于
(function () {var x = 10console.log(this.x)
})()
这里this指向window
详细解析
从逗号表达式、匿名函数的角度扫盲:
1. 逗号表达式
逗号表达式,从左到右执行,取最右边的赋值
例子:
let a = 1;
let b = 2;
let c = 0;
c = (a++,b++,a+b);
console.log(c) // 5
2. 匿名函数
(temp.foo,temp.foo)() 相当于一个匿名函数
从左到右执行,
先执行逗号左边的temp.foo,这就是一个取了对象里面的方法,并没有执行,所以没有什么用;
再执行逗号右边的temp.foo,整个表达式返回的也是这个,所以最终返回的是,temp.foo(),
temp.foo是:
function () {var x = 10console.log(this.x)
}
temp.foo() 是:执行这个匿名函数
(function () {var x = 10console.log(this.x)
}) ()
所以this指向的是 window,this.x 取的就是全局变量x,因此返回20,而不是局部作用域里面的10。
答案
20
前端面试每日一练小题1相关推荐
- 前端面试每日 3+1 —— 第32天
今天的面试题 (2019.05.18) -- 第32天 [html] 说说你对HTML元素的显示优先级的理解 [css] 说下line-height三种赋值方式有何区别? [js] 造成内存泄漏的操作 ...
- 前端面试每日 3+1 —— 第27天
今天的面试题 (2019.05.13) -- 第27天 [html] 说说你对影子(Shadow)DOM的了解 [css] 怎样修改chrome记住密码后自动填充表单的黄色背景? [js] 说说你对a ...
- 2022医院三基相关专业每日一练模拟题及答案
题库来源:优题宝公众号 2022医院三基相关专业每日一练模拟题及答案,根据最新医院三基大纲与历年真题汇总编写,包含医院三基常考重点题型与知识点,有助于考生复习备考医院三基,取得好成绩. 1.对于大面积 ...
- 前端面试每日3+1(周汇总2019.06.02)
周汇总 2019.06.02 <论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试每日3+1题,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯, ...
- 前端面试每日3+1(周汇总2019.06.16)
<论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试每日3+1题,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯,让奋斗成为一种享受! 相信 坚 ...
- 前端面试高频手写代码题
前端面试高频手写代码题 一.实现一个解析URL参数的方法 方法一:String和Array的相关API 方法二: Web API 提供的 URL 方法三:正则表达式+string.replace方法 ...
- 【CSDN每日一练 编程题 C语言】严查枪火
时间限制:1000ms 内存限制:256MB 题目描述: X国最近开始严管枪火. 像是"ak","m4a1","skr".都是明令 ...
- 关于阿里面试的的一个小题
看到同学找到了阿里的这么一个面试题,感觉挺有趣,就做了做. 用div+css做出如下效果: 当鼠标移入带红色div上的时候,div的大小增大25%,其他的不变.如下图: 详细代码如下: <!do ...
- 前端面试每日 3+1(每日三问)
https://github.com/haizlin/fe-interview 转载于:https://www.cnblogs.com/buerBlog/p/11126713.html
最新文章
- python有什么好玩的库_你知道Python很火!那你知道它有哪些好玩的库吗?
- mysql数据库项目例子_很实用的MySql数据库语句(项目中的例子)
- Kindeditor中上传本地照片后需要带域名的绝对路径实际获取为相对路径
- Facebook押注VS Code
- Nginx 作为 WebSockets 代理
- python读取ini文件
- sql 存储过程 并发测试_SQL单元测试模拟存储过程
- C++中类的继承和组合
- Mysql索引的本质深入浅出(二)
- Pickit 3 - MPLAB Target device ID does not match 解决办法之一
- 移动apn接入点哪个快_中国移动接入点设置哪个快
- 【小程序开发之制作首页】
- 路由器、交换机、猫(Modem)、LAN、WAN、WLAN、VLAN基本概念
- mysql数据库空间不足_mysql空间不足怎么解决?
- 7-2 判断是否含敏感词汇
- 怎样拍摄全景照片?全景图片拍摄流程
- 编写时间类代码(实现时分秒的增与减)
- MySQL---基础
- 中华名将索引 - 第一批:霍去病
- Redis添加历史浏览记录