摘要:对象:let newData= JSON.parse(JSON.stringify(this.data).replace(/plant/g,"children")) 替换plant为children 修改数组: this.plant = this.plant.map(item=>({ company
阅读全文
摘要:let arrUnique = function(arr){ let ojb = {}; arr = arr.reduce(function(prevArr, currentItem) { //利用对象的键名无法重复的特点,mch_id是唯一区别的属性值 ojb[currentItem.mch_id
阅读全文
摘要:let obj1 = { a: 1, b: 2, c: 3 } let obj2 = { a: 0, b: 0, c: 0 } // 两个对象的字段完全相同时采用下面两种方式 obj2 = Object.assign(obj1) obj2 = obj1 let obj3 = { a: 1, b: 2
阅读全文
摘要:空格: xxx.replace(/\//g, '\xa0'); 换行: xxx.replace(/;/g, '\r\n')
阅读全文
摘要:1 函数定义: 2 function test(){}; 3 函数表达式|匿名函数 4 var test = function(){}; 5 构造函数 6 var test=new Function('a','b', '函数体'); function test(a,b) { console.log(
阅读全文
摘要:onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g,'')"
阅读全文
摘要:恢复内容开始 概念: class类是es6的一种构造函数语法糖写法。 创建一个class类 class myClass{ //构造器,默认为空的构造器 //当class在被new时就会调用构造器 //相当于function //function myClass(name,age){ // this.
阅读全文
摘要:恢复内容开始 全局环境: 无论是否在严格模式下,在全局执行环境中,(任何函数体外部)this都指向全局对象。 // 在浏览器中, window 对象同时也是全局对象: console.log(this window); // true a = 37; console.log(window.a); /
阅读全文
摘要:1.数组《——》对象 转为对象: 方法一: for in 遍历 for(let key in arr){ obj[key]=arr[key] //key指索引 } 方法二: ES6 展开运算符 let obj ={...arr}; 方法三: 使用for循环 for(let i=0;i<arr.len
阅读全文
摘要:首先需要说到js的数据类型和堆栈的问题: 原始数据类型:string,boolean,number,null,undefined,因为占据空间小,大小固定,使用频繁,所以存储在栈中。 引用数据类型:object,array,function,空间大,大小不固定,存储在堆中,引用数据类型在栈中存储了指
阅读全文
摘要:1.let和const 同时拥有块级作用域。并不存在变量提升。const声明不变的常量。 2.变量的解构赋值 从数组和对象中提取值,对变量进行赋值。 let [a, b, c] = [1, 2, 3]; 类似于“模式匹配”: let [foo, [[bar], baz]] = [1, [[2], 3
阅读全文
摘要:概念: 1.闭包就是能够读取其他函数内部变量的函数。 2.让这些变量的值始终保持在内存中。 3.将函数内外部连接起来的桥梁。 注意点: 1.闭包会使得函数中的变量都被保存在内存中,对内存消耗很大,所以不能滥用闭包。否则会造成网页的性能问题(内存泄漏)。解决方法是,在退出函数前,将不使用的局部变量全部
阅读全文
摘要:恢复内容开始 三者的相似: 1.都可以改变this指向 2.第一个参数都是要改变的this指向 3.都可以利用后续参数传参 例子: var xw = { name : "小王", gender : "男", age : 24, say : function() { alert(this.name +
阅读全文
摘要:构造函数概念: 1.自定义构造函数 function Person (name, age) { this.name = name this.age = age this.sayName = function () { console.log(this.name) } } var p1 = new
阅读全文
摘要:异步的意义: 同步与异步: 1.同步任务:在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。 2.异步任务:不进入主线程,任务队列的任务,只有任务队列通知主线程,某个异步任务可以执行了,这个任务才会进入主线程执行。 js为单线程执行,同步的写法导致如果执行中有一个任务耗时较长,j
阅读全文
摘要:防抖:适用于会多次触发的如input scroll等关联请求的事件,目的是无论触发多少次事件,最后只触发在我们规定的时间内的最后一次事件。 我们实现的思路就是:先设置一个计时器变量,用闭包保存,保证不会被内存释放,在事件触发的时候,也就是只要事件触发,先清除这个计时器,然后再设置一个,那么只要事件持
阅读全文
摘要:filter方法:创建一个新数组,新数组的元素是符合指定条件的元素,不会检测空数组,不会改变原数组。 是否改变原数组:不改变 const arr = [0,1,2,3,4] const arr2 = arr.filter(item=>item>2) alert(arr);//0,1,2,3,4 al
阅读全文
摘要:break;continue不生效, 使用 try { l.forEach((v, i, a) => { if (a[i].is_myself == 1) { that.leftIndex = i throw new Error('err') } }) } catch (e) { return; }
阅读全文