1.window对象是什么?

window代表浏览器窗口或者框架的全局对象(感觉描述太简单了)

2.this是什么?

this默认指向window,也就是全局变量,在构造函数也就是new fun()中this指向该构造函数,在对象函数中,this指向该对象。

this指向可通过apply()改变,参数为空默认指向全局对象,有参数指向参数所代表对象;

3.闭包是什么?

我目前对闭包的认知有两点,一是闭包可以返回一个函数,该函数可以延期执行;另一方面闭包内部可以封装一个私有变量,该变量因为对外隐藏只有执行闭包返回体时才能操作到,所以该变量不会被外部污染

面试官还详细问了私有变量的访问问题,和闭包内部访问外部变量的问题,这个先记下来,下次涨知识后再来修正。

4.sessionstorage和localstorage?

sessionstorage只在当前页面有效,在新窗口或浏览器关闭均会失效,并且只在本地有效不会传给服务端,local能长期保存

5.cookie?

cookie可以存储一些简单的用户信息,cookie可以在网页窗口及网页子窗口间生效,cookie信息会在浏览此每次发起请求时一起发送到服务端,未设置期限cookie在网页窗口关闭后会失效

6.avalon和angular区别?

目前了解的,路由方面有区别

7.promise

promise我在智能运维1.0项目中用过,项目用的好像是angular中的promise,具体需要再回顾下。

8.性能优化的经验

当时我说了项目有卡顿现象,其实我想到的require异步加载应该是可以的,不过没实践,项目现在基本都用require异步加载了,加载慢基本上只剩下IE性能问题了。

9.let和var的不同?

我之前看过es6的部分语法,不过几乎已经忘了,毕竟公司项目兼容IE8,根本没机会使用。

10.require的AMD和cmd?

这个确实是自己的问题,暂时不会。