前端知识点

1、函数防抖与节流
--函数防抖(debounce):触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间
函数节流(throttle):高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率
使用场景,比如无限加载的时候,
防抖输入搜索:我连续输入100个字母,在输入最后一个字母后,再等200毫秒,执行请求接口。

2、闭包
--它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在外层函数调用后被自动清除。
优点:
(1)变量长期驻扎在内存中;
(2)避免全局变量的污染;
(3)私有成员的存在 ;
3、箭头函数和普通js,this指向问题
4、bfc原理和定义
5、es6新增语法
6、webpack 打包 配置选项
7、import 和 require 的区别
8、对象的继承
9、操作对象的几种方法
10、jq组件化
11、数组去重
--【12种去重方法https://segmentfault.com/a/1190000016418021
12、回调函数
13、css盒模型
--分两种盒模型:IE盒模型和W3C盒模型,两种盒模型都包括content、padding、border、margin(从里到外)
14、高阶函数
15、Pomise.all
16、es6新增语法
let、const、箭头函数
17、块级作用域
--JS中作用域有:全局作用域、函数作用域。没有块作用域的概念。es6新增了。
块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。
18、宏任务和微任务

宏任务(macrotask) 微任务(microtask)
谁发起的 宿主(Node、浏览器) JS引擎
具体事件 1. script (可以理解为外层同步代码)
2. setTimeout/setInterval
3. UI rendering/UI事件
4. postMessage,MessageChannel
5. setImmediate,I/O(Node.js)
1. Promise
2. MutaionObserver
3. Object.observe(已废弃;Proxy 对象替代)
4. process.nextTick(Node.js)
谁先运行 后运行 先运行
会触发新一轮Tick吗 不会

19、vuex存储在哪里,vuex存的数据页面刷新之后,存的值还还在吗?
--vuex存储在内存,用于组件中传值,当刷新页面,存储的值丢失
当两个组件共用一个数组时,其中一个变化了希望另一个组件也变化,localstorage做不到。
20、小程序的分包怎么做?
--开发者通过在 app.json subpackages字段声明项目分包结构;
分包别名、独立分包(independent)、分包预加载(preloadRule)
https://www.jianshu.com/p/1d754a618084
21、赋值与解构
--解构赋值语法是一个 Javascript 表达式,这使得可以将值从数组或属性从对象提取到不同的变量中
https://segmentfault.com/a/1190000016182444
22、跨域问题如何解决
23、vue源码解析
https://www.jianshu.com/p/c914ccd498e7
24、css变量
通常的最佳实践是定义在根伪类 :root
:root {
--main-bg-color: brown;
}
element {
background-color: var(--main-bg-color);
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容