在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域.变量提升即将变量声明提升到它所在作用域的最开始的部分. JS的解析过程分为两个阶段:预编译期(预处理)与执行期. 预编译期JS会对代码块中的所有声明的变量和函数进行处理(类似与C语言的编译),但需要注意的是此时处理函数的只是声明式函数,而且变量也只是进行了声明但未进行初始化以及赋值. console.log(a);//undefined if (!("a" in wind…
前段时间阿里实习生内推,一面就被刷了,也是郁闷.今天系统给发通知,大致意思就是内推环节不足以了解彼此,还可以参加笔试,于是赶紧再投一次.官网流程显示笔试时间3月31日,时间快到了,开始刷题.网上搜了一下去年题目,我擦,第一题就不会(伤心中...),继续往下看,第四题也不会...好嘛,搜答案吧.搜了一个多小时的博客,结合自己的理解,写下了这篇博文... 2014年阿里巴巴前端工程师笔试题目1: var v = "Hello world"; (function() { console.lo…