看到题目你是不是以为我在开车,没错,我就不承认,你能咋的,你瞅啥,别瞅我,瞅题

题目是这样式的

结果是啥呀,这里我就不买关子了,结果是undefined,相信基础好一点的大佬们一眼就能看出来,像我这种就必须两只眼一起看,这里我又想问一句了,大佬们闭着一只眼看代码不累吗

让我们先简单明了的来解释一下上面的代码

首先foo()实际上是由window调用的

由于普通函数this指向调用他的对象,所以foo中的this实际上指向的window

而此时又相当于是window调用了bar函数,所以bar里面的this也是指向window

此时,实际上要输出的是window.a,而在window这个全局对象上并没有a这个属性,所以输出了undefined

现在我们回到最开始的样子,并在window对象上绑定一个a属性

 结果输出:我是window上的a属性

这里特别注意一点,可能有的同学会疑问为什么是输出undefined,而不是输出not defined呢?

因为JS访问对象上未定义的属性会返回undefined,而访问未声明的变量时则会抛出not defined。要是你还想再深究原因的话,明人不说暗话,我目前的水平也究不动,感觉是和引擎内部的实现有关,有知道的老铁们可以在我头上拍三下,夜深人静的时候我去你房里我们深入研究一波

最新文章

  1. ES6学习记录
  2. Shell 编程 : 数值,字符,字符串
  3. ASP.NET的运行原理与运行机制 如何:为 IIS 7.0 配置 <system.webServer> 节
  4. 【Linux高频命令专题(5)】rmdir
  5. [转] Android:微信授权登录与微信分享全解析
  6. July 【补题】
  7. Android开发中目前流行控件和知识点总结
  8. 线性代数之行列式的C#研究实现
  9. 动态查询:getBy字段名
  10. jsoup.parse 的一个坑
  11. 处理范例代码Webapi中的Mongodb的Bson中ObjectId反序列化异常
  12. renameTo()判断文件是否被占用(判断大文件是否完成拷贝这个动作)
  13. ERROR org.redisson.client.handler.CommandDecoder - Unable to decode data. channel
  14. android 登录效果
  15. Redis入门很简单之六【Jedis常见操作】
  16. 大快hadoop安装包下载与平台监控参数说明
  17. window主机和centos主机之间相互传送文件
  18. 基于asp.net mvc的近乎产品开发培训课程(第三讲)
  19. 【课堂实践】Myod和Mycp
  20. Java-Runoob-面向对象:Java 继承-u1

热门文章

  1. CF - 1130 E Wrong Answer
  2. lightoj 1201 - A Perfect Murder(树形dp)
  3. 【Redis】SpringBoot+Redis+Ehcache实现二级缓存
  4. 【Distributed】缓存技术
  5. 获取不到jdbc.driver的值解决办法
  6. Android四大组件初识之Activity
  7. Linux 笔记 - 第九章 Linux 中软件的安装
  8. 跟我学SpringCloud | 第十九章:Spring Cloud 组件 Docker 化
  9. scp建立安全信任关系
  10. Java连载34-对象的内存分析、对象之间建立关系