ES6新增特性2
来源:互联网 发布:苹果手机淘宝装不上 编辑:程序博客网 时间:2024/06/16 03:36
1.箭头函数(拉姆达表达式)
基本语法
(形参列表) => { //函数体}
注意:
1.函数体内如果只有一行代码,那么{}可以省略,如果有return ,那return也可以省略
2.形参列表如果只有一个参数,则括号()可以省略
3.如果想直接返回一个js对象,则可以在对象外面添加小括号
4.箭头函数的自执行
5.箭头函数无this绑定,这一点非常实用
6.箭头函数没有自己的arguments对象,但是可以使用外部的arguments对象,普通匿名函数返回undefined
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script type="text/javascript"> //第一种情况 var sum = (num1,num2) => num1 + num2 console.log(sum(1,2)); //3 //第二种情况 var foo = a => a+3; console.log(foo(1)); //4 //第三种情况 var foo1 = () => ({name : "Tom"}); console.log(foo1()); //{name : "Tom"} //第四种情况 var person = (name => { return { name : name, age : 20 } })("Tom") console.log(person) //{name : 'Tom',age : 20} //第六种情况 function foo2(){ return () => arguments[0]; } var f = foo2(5,6); console.log(f()); //5 function foo3(){ return function(){ return arguments[0]; } } var f1 = foo3(5,6); console.log(f1()); //undefined </script></body></html>
2.对象功能的扩展
2.1简写的属性初始化
1.当对象属性名和本地变量名 相同时,可以省略冒号和值
2.方法的简写,去掉冒号和function
3.在字面量中动态计算属性名
4.新增方法Object.is(),除了两张特殊情况,其余的都相当于 ===
5.Object.assign() 复制一个对象的属性和方法完整的转到另一个对象中,是一种浅复制,只是复制地址值,该方法可接受多个提供者 ,后面的同名属性覆盖前面提供者的属性值
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script type="text/javascript"> //简写属性初始化 function createPerson(name,age){ /*return{ name : name, age : age }*/ //效果同上注释里的 return { name, age } } console.log(createPerson("Tom",20)); //{name : "Tom",age : 20} //简写方法 var person = { /*say : function(){ console.log(1); }*/ say(){ console.log(1); } } person.say() //1 //字面量动态计算属性名 var attName = 'name'; var p = { [attName] : "Tom", //属性名用[]括起来,则括号中就可以引用提前定义的变量 age : 20 } console.log(p[attName]) //"Tom" //两种特殊情况,其余都一样 console.log(+0 === -0); //true console.log(Object.is(+0,-0)); //false console.log(NaN === NaN); //false console.log(Object.is(NaN,NaN)); //true </script></body></html>
阅读全文
0 0
- ES6新增特性2
- ES6 新增特性
- ES6的新增特性1
- ES6新增(2)
- Es6特性
- ES6特性
- ES6特性
- ES6 特性
- es6新增属性学习
- ES6新增(1)
- ES6---string新增方法
- es6 新增部分
- ES6 新增字符串函数
- ES6新增的数据结构
- 【ES6】ES6的新特性
- Android4.2新特性及新增API
- Android4.2新特性及新增API
- Android4.2新特性及新增API
- 算法竞赛_子序列之和_C++
- CCF考试Java试题--旋转矩阵
- 文本嗅探 python
- Python以文字界面利用pdb进行调试
- 【前端新手】css知识点随记(一)
- ES6新增特性2
- 【Redis】Redis数据类型 String与基本使用
- 好用的 GitHub 插件和工具
- 实训第一课
- C语言单选
- 8 长久不搭建spring,今天搭建了一下
- 保护眼睛的securecrt的配色方法 默认模式设置
- 最长回文子串--轻松理解Manacher算法
- Selenium2+python自动化41-绕过验证码(add_cookie)