每日一练小题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相关推荐

  1. 前端面试每日 3+1 —— 第32天

    今天的面试题 (2019.05.18) -- 第32天 [html] 说说你对HTML元素的显示优先级的理解 [css] 说下line-height三种赋值方式有何区别? [js] 造成内存泄漏的操作 ...

  2. 前端面试每日 3+1 —— 第27天

    今天的面试题 (2019.05.13) -- 第27天 [html] 说说你对影子(Shadow)DOM的了解 [css] 怎样修改chrome记住密码后自动填充表单的黄色背景? [js] 说说你对a ...

  3. 2022医院三基相关专业每日一练模拟题及答案

    题库来源:优题宝公众号 2022医院三基相关专业每日一练模拟题及答案,根据最新医院三基大纲与历年真题汇总编写,包含医院三基常考重点题型与知识点,有助于考生复习备考医院三基,取得好成绩. 1.对于大面积 ...

  4. 前端面试每日3+1(周汇总2019.06.02)

    周汇总 2019.06.02 <论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试每日3+1题,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯, ...

  5. 前端面试每日3+1(周汇总2019.06.16)

    <论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试每日3+1题,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯,让奋斗成为一种享受! 相信 坚 ...

  6. 前端面试高频手写代码题

    前端面试高频手写代码题 一.实现一个解析URL参数的方法 方法一:String和Array的相关API 方法二: Web API 提供的 URL 方法三:正则表达式+string.replace方法 ...

  7. 【CSDN每日一练 编程题 C语言】严查枪火

    时间限制:1000ms      内存限制:256MB 题目描述: X国最近开始严管枪火. 像是"ak","m4a1","skr".都是明令 ...

  8. 关于阿里面试的的一个小题

    看到同学找到了阿里的这么一个面试题,感觉挺有趣,就做了做. 用div+css做出如下效果: 当鼠标移入带红色div上的时候,div的大小增大25%,其他的不变.如下图: 详细代码如下: <!do ...

  9. 前端面试每日 3+1(每日三问)

    https://github.com/haizlin/fe-interview 转载于:https://www.cnblogs.com/buerBlog/p/11126713.html

最新文章

  1. python有什么好玩的库_你知道Python很火!那你知道它有哪些好玩的库吗?
  2. mysql数据库项目例子_很实用的MySql数据库语句(项目中的例子)
  3. Kindeditor中上传本地照片后需要带域名的绝对路径实际获取为相对路径
  4. Facebook押注VS Code
  5. Nginx 作为 WebSockets 代理
  6. python读取ini文件
  7. sql 存储过程 并发测试_SQL单元测试模拟存储过程
  8. C++中类的继承和组合
  9. Mysql索引的本质深入浅出(二)
  10. Pickit 3 - MPLAB Target device ID does not match 解决办法之一
  11. 移动apn接入点哪个快_中国移动接入点设置哪个快
  12. 【小程序开发之制作首页】
  13. 路由器、交换机、猫(Modem)、LAN、WAN、WLAN、VLAN基本概念
  14. mysql数据库空间不足_mysql空间不足怎么解决?
  15. 7-2 判断是否含敏感词汇
  16. 怎样拍摄全景照片?全景图片拍摄流程
  17. 编写时间类代码(实现时分秒的增与减)
  18. MySQL---基础
  19. 中华名将索引 - 第一批:霍去病
  20. Redis添加历史浏览记录

热门文章

  1. iOS单元测试(作用及入门提升)
  2. 使用苏飞httphelper开发自动更新发布文章程序
  3. 在vue中使用d3做一个动态加载的树形图
  4. 芯片验证漫游指南_苹果愁哭,intel放弃,基带芯片就这么难做?
  5. 推荐系统中的召回算法大致梳理(非完整)
  6. 2022年最新中国科学院期刊分区表变化 | 生物类、医学类
  7. 惩戒教育也是“爱的艺术”[图]
  8. 利用scrapy爬取豆瓣top250
  9. IKAnalyzer解读
  10. bpmn如何查看代码 idea_IDEA教程之Activiti插件图文详解