零碎知识点记事本

277 阅读1分钟

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来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。