es6的箭头函数,function* , yeild详解
来源:互联网 发布:淘宝买论文靠谱吗 编辑:程序博客网 时间:2024/04/28 00:00
var f = v => v*2; 借鉴思路与java8的lamada 表达式类似 ,写匿名函数。
// 等价于
var f = function(v){
return v*2;
}
// 判断偶数
var isEven = n => n % 2 == 0;
// 需要加 return
var = (a, b) => {
if(a >= b)
return a;
return b;
}
var isNumber= n => isNan(n);
1:箭头函数
// ES6
function obj() {
setTimeout(()=>console.log(this.id), 20);
}
// ES5
function foo() {
var _this = this;
setTimeout(function () {
console.log(_this.id);
}, 20);
}
2:function* yield 迭代器
根据语法规范,yield 关键字用来暂停和继续执行一个生成器函数。当外部调用生成器的 next() 方法时,yield 关键字右侧的表达式才会执行。
执行结果会转化为一个对象(包含两个属性, value 和 done),作为 next() 方法的返回值。
对于 var foo = yield expression 语句,yield 左侧变量 foo 的值将在下一次调用 next() 方法时获得,并且等于调用时 next() 方法的参数。
function* 这种声明方式(function关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个 Generator 对象。
function* generator()
{
}
function* g1() {
yield 2
yield 3
}
function* g2() {
yield 1
yield g1()
yield* g1()
yield [4, 5]
yield* [6, 7]
}
const iterator = g2()
console.log(iterator.next()) // { value: 1, done: false }
console.log(iterator.next()) // { value: {}, done: false }
console.log(iterator.next()) // { value: 2, done: false }
console.log(iterator.next()) // { value: 3, done: false }
console.log(iterator.next()) // { value: [4, 5], done: false }
console.log(iterator.next()) // { value: 6, done: false }
console.log(iterator.next()) // { value: 7, done: false }
console.log(iterator.next()) // { value: undefined, done: true }
class 及继承
//定义类
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
// 注意函数构造的方式
toString() {
return '(' + this.x + ', ' + this.y + ')';
}
}
var p1 = new Point(5, 5);
p1.toString(); //"(5, 5)"
typeof Point // function
p1.constructor == Point //tru
直接使用 class 关键字,constructor 作为构造方法,函数可以直接 toString(){} 的方式。
但是,class 的本质仍然是函数,是构造函数的另外一种写法。既然 class 的本质是函数,那么必不可少的一些 proto,prototype 方法也是存在的。
- es6的箭头函数,function* , yeild详解
- es6-箭头函数详解
- 关于ES6的箭头函数的详解
- es6的箭头函数
- ES6的"箭头"函数
- 详解es6中箭头函数
- 【ES6】之 Arrow Function箭头函数
- ES6箭头函数(arrow function)
- ES6之箭头函数(Arrow Function)
- es6 的箭头函数 =>
- 初探es6的箭头函数
- ES6的箭头函数介绍
- ES6折腾记- 箭头函数【Arrow function】要点及脱坑点
- JavaScript-ES6中的箭头函数(Arrow Function)
- ES6新特性箭头函数(Arrow Function)
- ES6-函数的扩展-箭头函数
- ES6---es6中函数function的改革
- ES6---箭头函数与function定义函数有什么区别?在箭头函数中,this指向,构造函数,变量提升是如何表现的?
- java中方法的重载和重写的区别
- eclipse导入web工程出现的几个问题解决方法
- 完整的struts2框架应用实例
- 移动端摄像头yuv旋转、裁剪、镜像、格式转换算法的实现及其原因
- 战略与执行交付的技巧
- es6的箭头函数,function* , yeild详解
- SpringSecurity 登录重定向问题
- vue 知识点
- Spring和SpringMVC父子容器关系初窥
- adapter实现多布局
- 如果你想把Mac中的文件拷贝到ntfs硬盘中怎么办
- BZOJ 2435 道路修建
- 使用Gradle构建SpringBoot工程系列:第二篇:开发环境准备
- 矩阵乘法