阿里巴巴Web前端面试的一道JS题目,求解答!!!
2024-10-18 18:20:15
题目大概是这种:
function outer(){
return inner;
var inner = "a";
function inner(){};
inner = 9;
}
alert(typeof outer());
当时的回答是结果是——function (回来測试结果也是一样)
本来的想法是,inner 在outer 运行的过程中,以下有一个函数声明,而函数声明会提升,也就是 JS 解析器会领先读取函数声明,假设不是声明函数而是定义一个变量,那结果就会是 undefined。
问题是,经过面试官的百般拷问,我就犹豫了。尽管结果是正确的,可是不知道自己这样理解对不正确。问面试官,结果是无可奉告……尽管已经被刷,但还是在纠结这个问题。
javascript 是解释性语言,也就是一行行解释运行。那为什么会先读取函数声明?是否在javascript中有存在预编译呢?
求解答。!
。
问题是,经过面试官的百般拷问,我就犹豫了。
最新文章
- bootstrap-modal 学习笔记 源码分析
- hadoop fs -mkdir testdata错误 提示No such file or directory
- gridview自定义排序
- BZOJ-1877 晨跑 最小费用最大流+拆点
- 繁华模拟赛 Vincent的城堡
- 网页 console的使用
- ADO.NET 新特性之SqlBulkCopy(批量插入大量数据)
- html和css实现一级菜单和二级菜单学习笔记
- OpenGL ES着色器语言之着色概览(官方文档)
- properties文件中中文不能显示或者中文乱码
- spark RDD,DataFrame,DataSet 介绍
- C游新官网总结
- 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
- WPF Binding Mode,UpdateSourceTrigger
- python selenium 对浏览器标签页进行关闭和切换
- 【翻译】WPF4.5新特性(MSDN的翻译读不太懂)
- 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记
- 缓存击穿、缓存失效及热点key的解决方案
- Ubuntu 14.04 python3.6 安装
- Velocity学习4
热门文章
- 内置函数二(lambda函数,sorted(),filter(),map(),递归函数,二分法查找)
- [转]Angular2-组件间数据传递的两种方式
- C#基础 数据类型 类型转换
- 在EF中执行SQL语句(转载)
- Mysql常用函数总结(二)
- 转载 基于JAVA每月运势api调用代码实例
- JavaSE 常用类与其方法
- How to Find the Standard Deviation in Minitab
- 【读书笔记】iOS-配件
- Angular基础(五) 内建指令和表单