![](https://img-blog.csdnimg.cn/20191218131912794.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
javascript 基础
文章平均质量分 68
javascript 基础
陈佳兵001
这个作者很懒,什么都没留下…
展开
-
js 节流 throttle
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Comp...原创 2019-12-25 14:54:47 · 106 阅读 · 0 评论 -
js防抖 debounce
什么是防抖比如我们监听输入框的keyup事件,他会无间隔的一直触发,如果这个监听会触发http请求的话,会对服务器造成很大的压力,这时候就需要防抖来解决这种事情,它会在输入完成再利用setTimeout回调函数去执行方法体。简单的来说就是定义一个setTimeout的定时器,如果timer有值就清空定时器,执行完setTimeout回调就清空timer。下面代码简单演示一下:防抖代码<...原创 2019-12-25 14:01:48 · 303 阅读 · 0 评论 -
数组拍平 flatern
flatern 方法const arr = [1, 2, 3, [4, 5,['a', 'b']], 6]function flat(arr) { isDeep = arr.some(item => item instanceof Array) if(!isDeep) { return arr } const res = Array.prototype.conc...原创 2019-12-21 13:40:12 · 280 阅读 · 0 评论 -
js 对象 深度比较 全相等 isEqual
isEqual//js对象深度比较 全相等function isEqual(obj1,obj2) { //如果传入的不是对象,那就直接比较并且返回 if(!isObject(obj1) || !isObject(obj2)) { return obj1 === obj2 } //如果传入的两个对象为同一个,那直接返回true if(obj1 === obj2) {...原创 2019-12-21 13:26:15 · 3541 阅读 · 1 评论 -
js 数组去重
传统方式//数组去重 传统方式function unique(arr) { const res = [] arr.forEach(item => { if(res.indexOf(item) < 0) { res.push(item) } }) return res}ES6 Set// ES6 Setfunction uniqu...原创 2019-12-21 13:09:27 · 82 阅读 · 0 评论 -
BOM 基本操作
如何识别浏览器的基本信息navigator// navigatorconst ua = navigator.userAgentconst isChrome = ua.indexOf('Chrome') > 0console.log(isChrome)浏览器宽度、高度 screen//screenconsole.log(screen.width)console.log(scr...原创 2019-12-19 13:37:15 · 183 阅读 · 0 评论 -
typeof 运算符能判断哪些类型
typeof 能判断所有的值类型//typeof 能判断所有的值类型let a; console.log(typeof a) // undefinedconst a = 'string' console.log(typeof a) // stringconst a = 1 console.log(typeof a) // number...原创 2019-12-18 13:43:22 · 2693 阅读 · 1 评论 -
javascript 深拷贝
javascript 深拷贝const obj1 = { name: 'xxx', age: 18, address: { city: '北京' }, arr: [1, 2, 3], add: () => {console.log(1)}}function deepClone(obj = {}) { if(typeof(obj) !== 'obj...原创 2019-12-18 15:08:56 · 84 阅读 · 0 评论 -
javascript 中值类型与引用类型的区别
什么是值类型?//值类型let a = 100let b = aa = 200console.log(b) //100b的值不会随着a的值改变而改变,这是为什么呢?如上图:key对应变量的名字,value对应变量的值。我们可以看到,变量a和变量b分别存储到栈的一个内存空间中,当他们的值改变的时候,找到栈中对应的key,只是改变了对应的key的值,所以我们可以得出结论:值类型...原创 2019-12-18 13:14:04 · 143 阅读 · 0 评论