题目大概是这种:

function outer(){
return inner;
var inner = "a";
function inner(){};
inner = 9;
}
alert(typeof outer());

当时的回答是结果是——function (回来測试结果也是一样)

本来的想法是,inner 在outer 运行的过程中,以下有一个函数声明,而函数声明会提升,也就是 JS 解析器会领先读取函数声明,假设不是声明函数而是定义一个变量,那结果就会是 undefined。

问题是,经过面试官的百般拷问,我就犹豫了。尽管结果是正确的,可是不知道自己这样理解对不正确。问面试官,结果是无可奉告……尽管已经被刷,但还是在纠结这个问题。

javascript 是解释性语言,也就是一行行解释运行。那为什么会先读取函数声明?是否在javascript中有存在预编译呢?

求解答。!

问题是,经过面试官的百般拷问,我就犹豫了。

最新文章

  1. bootstrap-modal 学习笔记 源码分析
  2. hadoop fs -mkdir testdata错误 提示No such file or directory
  3. gridview自定义排序
  4. BZOJ-1877 晨跑 最小费用最大流+拆点
  5. 繁华模拟赛 Vincent的城堡
  6. 网页 console的使用
  7. ADO.NET 新特性之SqlBulkCopy(批量插入大量数据)
  8. html和css实现一级菜单和二级菜单学习笔记
  9. OpenGL ES着色器语言之着色概览(官方文档)
  10. properties文件中中文不能显示或者中文乱码
  11. spark RDD,DataFrame,DataSet 介绍
  12. C游新官网总结
  13. 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
  14. WPF Binding Mode,UpdateSourceTrigger
  15. python selenium 对浏览器标签页进行关闭和切换
  16. 【翻译】WPF4.5新特性(MSDN的翻译读不太懂)
  17. 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记
  18. 缓存击穿、缓存失效及热点key的解决方案
  19. Ubuntu 14.04 python3.6 安装
  20. Velocity学习4

热门文章

  1. 内置函数二(lambda函数,sorted(),filter(),map(),递归函数,二分法查找)
  2. [转]Angular2-组件间数据传递的两种方式
  3. C#基础 数据类型 类型转换
  4. 在EF中执行SQL语句(转载)
  5. Mysql常用函数总结(二)
  6. 转载 基于JAVA每月运势api调用代码实例
  7. JavaSE 常用类与其方法
  8. How to Find the Standard Deviation in Minitab
  9. 【读书笔记】iOS-配件
  10. Angular基础(五) 内建指令和表单