ES6
文章平均质量分 88
maqinyao5566
这个作者很懒,什么都没留下…
展开
-
es6-块级作用域
1.var与let1)var没有块级作用域,在闭包中都可以访问,如果变量名重复,则前一个会被覆盖。 let可以通过闭包隔离,增加了块级作用域隔离,即外界无法访问闭包中的变量if (true) { var a = "a"; // 期望a是某一个值 }console.log(a);结果:aif(true){ let name = 'zfpx';}console.lo...原创 2018-05-29 10:01:10 · 107 阅读 · 0 评论 -
ES6-learning-函数的扩展
1.ES6允许参数设置默认值(参数默认值不是传值的,而是每次都重新计算默认值表达式的值-参数默认值是惰性求值的)let x = 99;function foo(p = x + 1) { console.log(p);}foo() // 100x = 100;foo() // 1012.参数默认声明,不能用Let或const再次声明3.使用参数默认值时,函数不能有同名参...原创 2018-07-24 10:31:00 · 175 阅读 · 0 评论 -
ES6-learning-let和const声明
1.let和const命令1)不存在变量提升:声明的变量一定要在声明后使用2)暂时性死区:出现块级作用域,在代码块{ }内,声明变量之前,该变量不可用。3)不允许重复声明2.const1)声明只读常量,一旦声明,必须初始化,常量值不能改变。2)本质:不是值不能改变,而是变量指向的那个内存地址所保存的数据不得改动{对于(数值,字符串,布尔值),值就保存的等同于常量,而对于(对象和数...原创 2018-07-20 17:46:40 · 126 阅读 · 0 评论 -
ES6-learning-变量的解构赋值
1.变量的解构赋值(允许指定默认值,默认值生效的条件是对象的属性值严格等于undefined)1)数组的解构赋值2)对象的解构赋值(变量必须与属性同名)3)字符串的解构赋值(被转换一个类似数组的对象)4)数值和布尔值的解构赋值(先转为对象)5)undefined和null无法转为对象,不能对它们进行解构赋值6)函数参数的解构赋值2.不能使用圆括号:1)变量声明语句2)函数参数...原创 2018-07-20 17:49:03 · 127 阅读 · 0 评论 -
ES6-learning-字符串的扩展
1.字符的Unicode表示法(\uxxxx)-xxxx表示字符的Unicode码点“\u0062”2.codePoineAt把对应字符变为对应码点测试一个字符由一个字节还是由四个字节组成 function is32Bit(c){ return c.codePointAt(c)>0xFFFF;}3.String.fromCodePoint()ES5提供Strin...原创 2018-07-20 17:56:24 · 381 阅读 · 0 评论 -
ES6-learning-数字的扩展
.ES6用前缀0b代表二进制数值,0o表示八进制2.Number.isFinite(),判断数值是否有限;Number.isNaN()判断一个值是否不是一个数3.Numbwe.isInteger()判断一个数值是否为整数但在javascript内部,整数和浮点数采用的是同样的储存方法,所以25和25.0被视为同一个值。不建议使用4.面对0.1+0.2===0.3为false需要...原创 2018-07-20 18:02:06 · 202 阅读 · 0 评论 -
ES6-learning-数组扩展
1.方法的name属性函数的name属性,返回函数名,对象方法也是函数,因此也有name属性如果对象的方法使用了getter和setter,则name属性不是在该方法上面,而是该方法的属性的描述对象的get和set属性上面,返回值使方法名前加上get和set。2.Object.is()方法判断是否完全相等Object.is('foo','foo');//true Object.i...原创 2018-07-30 11:11:27 · 1562 阅读 · 0 评论 -
ES6-learning-Map和Set数据结构
1.数据结构Set,但是成员的值都是唯一的,没有重复的值const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4通过add方法向Set结构加入成员,结果表明Set结构不会添加重复的值Set函数可以接受一...原创 2018-08-02 15:09:17 · 176 阅读 · 0 评论