1.执行上下文 作用域中的声明提升 函数声明和变量声明
2.this 要在执行时才能确定值 定义时无法确定
3 作用域 es5以前没有函数作用域,只有函数作用域和全局作用域
作用域链 函数在寻找自由变量的作用域时是 函数定义时 的父级作用域,当函数内没有时会去父级作用域去找,找到了就停止寻找,如果还没有,继续向上找,不能访问子函数作用域里面的值
4.闭包
闭包的使用场景: 函数作为返回值 ,函数作为参数传递
练习问题
5.跨域的几种解决方案
通过 link src script 等标签的链接
jsonp
服务器端设置http header
6.浏览器输入url到页面呈现 渲染过程
7.优化策略
8.defineProperty
9.vue render函数
10. jsx解析
11. v-dom
12 webpack 常见面试题
13.判断访问终端
//判断访问终端
function browserVersion(){
var u = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};作者:摸鱼架构师链接:https://juejin.cn/post/6885988193402159118来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。