06 2020 档案
摘要:1、Array.from(objec,回调函数)将一个ArrayLike对象或者Iterable对象(类数组对象)转换成一个数组 1)该类数组对象必须具有length属性,用于指定数组的长度。如果没有length属性,那么转换后的数组是一个空数组 2)该类数组对象的属性名必须为数值型或字符串型的数字
阅读全文
摘要:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> //扩展运算符,可以将一个数组转为用逗号分隔的参数序列. //完成:随机产生十个整数,放入数组中,对这个数组进行降
阅读全文
摘要:Q: 为啥fn()调用不了函数?而arr=[...fn()]却运行了啊?不是next才行? function*fn(){ console.log(1); yield 1+1; console.log(2); yield 2-2; } // fn(); const arr=[...fn()]; con
阅读全文
摘要:1、结合扩展运算符使用。通过扩展运算符,在调用函数的时候,把一个数组展开,然后作为这个函数的参数 //结合扩展运算符使用 function foo(a,b,c){ console.log(a); //1 console.log(b); //3 console.log(c); //2 } //通过扩展
阅读全文
摘要:原型简单理解就是对象的一个属性,例如:prototype就是调用构造函数所创建的那个实例对象的原型 这个贴子 https://www.jianshu.com/p/72156bc03ac1 原型的一般都是跟原型链链一起使用的,实现继承
阅读全文
摘要:Q:assign()与create()的区别? A:let obj = Object.assign(targetObj, …sourceObj) 作用:将一个或多个源对象自身的可枚举属性与目标对象的属性合并 返回值:合并后的目标对象 let obj = Object.create(protoObj,
阅读全文
摘要:1、Object.is方法返回布尔值,和全等于 差不多,除了参数是+0和-0,以及NaN时 //Object.is,返回布尔值,和全等于 差不多,除了+0和-0,以及NaN console.log(Object.is(+0,-0)); //false console.log(+0 -0); //tr
阅读全文
摘要:1、复制对象:使用扩展运算符复制对象时是浅拷贝 //复制对象:使用扩展运算符复制对象时是浅拷贝 const obj1 = { a:1, b:2, d:{ aa:1, bb:2 } } const obj2 = { c:3, a:9 } const cObj1 = {...obj1}; console
阅读全文
摘要:rest叫做剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它.一般只针对array的解构 //rest叫做剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它.一般只针对array的解构
阅读全文
摘要:1、浅拷贝就是值的复制。对象因为是引用类型,所以它的值就是一个指针。当改变其中一个的时候,另一个也会改变。如下obj把它的指针复制给obj1 ,所以这两个对象指向同一个内存地址。当改变obj1的a属性后,obj的属性a也会发生变化。这就是浅拷贝。 let obj1 = {a:1}; let obj2
阅读全文
摘要://for in可以遍历数组和对象,但是for of只能遍历数组,不可以遍历对象 var arr = [1,4,5,6,7,8]; var obj = { name:'za', age:19, say:function(){ console.log('hello') } } //for in循环出的
阅读全文
摘要:http://kangax.github.io/compat-table/es6/ 查询es6兼容的网站
阅读全文
摘要:1、简洁表达法。 当属性名与属性值相同时,可省略属性值;例如:{name : name}可以写成 {name} 属性方法中,可省略冒号与function,直接 属性名(){}即可。例如{say : function(arr){}}可以写成{say(arr){}} es5的写法: //es5: con
阅读全文
摘要:arguments是一个类似于数组的对象。当函数调用后,会传入参数,这些参数就是保存在arguments中。 //定义一个函数并在调用时传了两个参数,在函数中输出(注意它只能在函数里面使用) function a(num1, num2){ console.log(arguments); } a(1,
阅读全文
摘要:Q:为什么用普通函数时,setTimeout里面的this指向的是window? //通过保留this的方式,通过闭包的特性去拿this let _this = this //...ajax setTimeout(function(){ _this.age = 14; //console.log(t
阅读全文
摘要:1、箭头函数 在es6中,单一参数的单行箭头函数语法结构可以总结如下: const 函数名 = 传入的参数 => 函数返回的内容,因此针对于 const pop = arr => arr.pop(),其中 pop是函数名, arr是传的参数 , =>之后的内容是函数返回的内容,该函数相当于: var
阅读全文
摘要:1、结合扩展运算符 //剩余参数是做聚合的,扩展运算符是做展开的 function sum(...args){ console.log(arguments); console.log(arguments instanceof Array); //false 因为它是一个类数组对象 //以下代码均可将
阅读全文
摘要:1、函数的默认参数 //函数的默认参数 function add(a, b = 999){ console.log(a,b); //1 999 } add(1); 2、 函数的形参可以设置默认值,默认值可以与前一个参数进行相加等运算,但不能和自身或后一个参数进行运算,否则报错; //参数b后面不能出
阅读全文
摘要:1.0o代表八进制 0b代表二进制 ,通过Number()可转为10进制; //0o 0O octanary八进制 //0b 0B binary二进制 console.log(0o16); //14 console.log(0b1111); //15 2.parseInt方法从window换到了Nu
阅读全文
摘要://下面三行代码效果一样 //全局匹配开头为a的 const regexp1 = /^a/g; const regexp2 = new RegExp('a','g'); const regexp3 = new RegExp(/^a/); const regexp4 = new RegExp(/a/)
阅读全文
摘要://1、使用for-of遍历字符串.word是要遍历的每一个字符,str是要被遍历的字符串 for(let word of str){ console.log(word); } 2、Array.prototype.slice.call()能将具有length属性的对象转成数组,记住这样使用就可以。
阅读全文
摘要:1、padStart padEnd(count, 字符串) 补全字符串 //padStart(num,str) padEnd补全一个字符串的长度 //num表示补全到几位,str是用来填充的字符串 { let str = 'i'; let str1 = str.padStart(6,'mooc')
阅读全文
摘要:forEach也是数组循环的一种方法,如下: array.forEach(function(currentValue, index, arr), thisValue) 如上的array表示的是数组,即数组去调用forEach()方法,方法可以传入两个参数,第一个就是函数。第二个参数(thisValu
阅读全文
摘要:${ } 模板字符串占位符 需要用反引号` ` 1、模板字符串 `${变量}` const xiaoming = { name:'xiaoming', age:14, say1:function(){ console.log('我叫'+ this.name + ',我今年'+this.age +'岁
阅读全文
摘要:1、函数参数的解构赋值 //函数参数的解构赋值 function swap([x,y]){ return [y,x]; }; let arr = [1,2]; arr = swap(arr); 2、对象的解构赋值 //对象的解构赋值 function Computer({ cpu, memory,
阅读全文
摘要:对象的解构赋值中,与顺序无关,需要注意的是,变量名与属性名必须一致 const {name} = obj;这一步是数据解构赋值,相当于声明了保存在obj中的name属性值,意思是可以通过obj访问到name属性,因此还可以打印到name。 对象与数组不同,对象是无序的。所以它是通过属性名来标志的,不
阅读全文