时间:2021-07-01 10:21:17 帮助过:4人阅读
ES6 标准新增了一种新的函数: Arrow Function(箭头函数)。
箭头函数相当于匿名函数,并且简化了函数定义。一种像上面的,只包含一个表达式,
连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return:
如果参数不是一个,就需要用括号()括起来:
// 两个参数 (x,y) => x*x + y *y // 无参数; () =>3.14 // 可变参数 (x,y,...rest) =>{ var i, sum = x +y; for(i=0;i<rest.length;i++){ sum += rest[i]; } return sum; }
this
现在,箭头函数完全修复了this的指向,this总是指向词法作用域,也就是外层调用者obj:
如果使用了箭头函数,以前的那种hack 写法;
就不再需要了。
由于this 在箭头函数中已经按照是否作用域绑定了,所以,用call() 或者apply() 调用箭头函数时,无法对this 进行
绑定,即传入的第一个参数被忽略。
generator
generator(生成器)是ES6标准引入的新型数据类型。一个generator看上去像一个函数,但可以返回多次。
generator 和函数不同的是,generator由function* 定义(注意多出的*号),并且,除了return 语句,还可以用yield 返回多次。
函数只能返回一次,所以碧玺返回一个Array. 但是,如果换成generator,就可以一次返回一个数,不断返回多次。
直接调用试试:
直接调用一个generator和调用函数不一样,fib(5)仅仅是创建了一个generator对象,还没有去执行它。
调用generator对象有两个方法,一是不断地调用generator对象的next()方法:
Date
在JavaScript 中,Date 对象用来表示日期和时间的。
要获取系统当前时间,用:
JSON
JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。
在JSON中,一共就这么几种数据类型:
1,number: 和JavaScript的 number 完全一致;
2,boolean: 就是JavaScript的 true或 false;
3,String: 就是JavaScript的String ;
4,null: 就是JavaScript的null;
5,array: 就是JavaScript 的Array 表示方式——[];
6,object: 就是JavaScript 的{...} 表示方式。
SON还定死了字符集必须是UTF-8,表示多语言就没有问题了。为了统一解析,JSON的字符串规定必须用双引号"",Object的键也必须用双引号""。
序列化
结果:
第二个参数用于控制如何筛选对象的键值,如果我们只想输出指定的属性,可以传入Array:
JSON.stringify(xiaoming, ['name', 'skills'], ' ');
结果:
还可以传入一个函数,这样对象的每个键值对都会被函数先处理:
上面的代码把所有属性值都变成大写:
如果我们还想要精确控制如何序列化小明,可以给xiaoming定义一个toJSON()的方法,直接返回JSON应该序列化的数据:
反序列化
拿到一个JSON格式的字符串,我们直接用JSON.parse() 把它变成一个JavaScript 对象:
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
深入理解JavaScript中的块级作用域、私有变量与模块模式(图文教程)
JavaScript 输出显示内容(基础的教程)
Javascript 普通函数和构造函数的区别(结合代码,详细解读)
以上就是详细解读JavaScript 箭头函数 generator Date JSON的详细内容,更多请关注Gxl网其它相关文章!