箭头函数: 用箭头定义函数........
          var fun = x=>x*x
alert(fun(2))            //单参数
 
var fun1 = ()=>2
alert(fun1())        //无参数
 
var fun2 = (x,y)=>x+y
alert(fun2(1,2))        //双参数
 
var fun3 = ()=>({a:12})
alert(fun3().a)          //返回值是对象(要加括号)
 
 
箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }return
 
 
箭头函数和匿名函数一个明显的区别是this指针。箭头函数中的this指针由上下文决定。
匿名函数实现的错误代码
var obj={
    a:12,
    b:13,
    funn:function()
    {
        var fn = function(){return this.a+this.b};
        return fn();
    }
}
alert(obj.funn());
这样写函数内部的函数this指针指向window或者undefine,当时的解决办法是that = this。现在有箭头函数就不用考虑这些
箭头函数实现的代码
var obj={
    a:12,
    b:13,
    funn:function()
    {
        var fn = ()=>this.a+this.b;
        return fn();
    }
}
alert(obj.funn());//25
 
ps:之前对函数内this指针绑定对象的实现用到了函数的apply和call功能。现在 用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略。
 
 
 
 
generator : 生成器。
generator由function*定义(注意多出的*号),并且,除了return语句,还可以用yield返回多次。
由generator实现的斐波那契序列
function* fun(max)
{
    var a = 0;
    var b = 1;
    n = 1;
    while(n<=max){
        yield a;
        t = a + b;
        a = b;
        b = t;
        n++;
    }
    return a;
}
for(var i of fun(5))
{
    alert(i)  //0 1 1 2 3
}
 
 
调用generator对象有两个方法,一是不断地调用generator对象的next()方法
                                                 二是直接用for ... of循环迭代generator对象
 
 
generator 作用1: 因为generator可以在执行过程中多次返回,所以它看上去就像一个可以记住执行状态的函数,替代了用对象来保存状态
generator作用2: ,就是把异步回调代码变成“同步”代码
 
 作用3:。。。          
。。。。。

JavaScript箭头函数 和 generator的更多相关文章

  1. 轻松学习 JavaScript——第 6 部分:JavaScript 箭头函数

    JavaScript箭头函数是ECMAScript 6中引入的编写函数表达式的一种简便方法.通常,在JavaScript中,可以通过两种方式创建函数: 函数语句. 函数表达式. 可以如下所示创建函数语 ...

  2. JavaScript箭头函数中的this详解

    前言 箭头函数极大地简化了this的取值规则. 普通函数与箭头函数 普通函数指的是用function定义的函数: var hello = function () { console.log(" ...

  3. 动态导航栏和JavaScript箭头函数

    动态导航栏和JavaScript箭头函数 今天我们来写一下动态的导航栏,并且学一下JavaScript的箭头函数等相关问题. 样式如下所示: html中执行代码如下所示: <!DOCTYPE h ...

  4. javascript箭头函数把函数给简写了[0403]

    箭头函数把函数给简写了[0403]        我不是很喜欢箭头函数,总觉得它让原本就不那么严谨的js更加不严谨了,所以有时候看js程序也是一件很头痛的事情,不过在ES6中加入了这么一个新的方法,已 ...

  5. JavaScript 箭头函数

    ES6新标准增加了一种新的函数,箭头函数. x=>x*x 相当于: function (x){ return x*x; } 如果参数不是一个,就需要用括号()括起来: // 两个参数:var t ...

  6. javascript 箭头函数的使用 初学者必看

    为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 本文我们介绍箭头(arrow)函数的优点. 更简洁的语法我们先来按常规语法定义函数: 1 2 3 4 5 funct ...

  7. JavaScript箭头函数(Lambda表达式)

    箭头函数也叫lambda表达式 据说其主要意图是定义轻量级的内联回调函数 栗有: 1 var arr = ["wei","ze","yang" ...

  8. JavaScript 箭头函数(Lambda表达式)

    Lambda表达式(箭头函数)用于表示一个函数,所以它和函数一样,也拥有参数.返回值.函数体,但它没有函数名,所以Lambda表达式相当于一个匿名函数. 使用方法: ()=>{} 小括号里放参数 ...

  9. javascript箭头函数

    原文 https://thewebjuice.com/es6-arrows/ 1 使用es6箭头定义匿名函数 (msg)=>console.log('Hello World') es5 'use ...

随机推荐

  1. 突袭HTML5之WebGL 3D概述

    WebGL开启了网页3D渲染的新时代,它允许在canvas中直接渲染3D的内容,而不借助任何插件.WebGL同canvas 2D的API一样,都是通过脚本操纵对象,所以步骤也是基本相似:准备工作上下文 ...

  2. swif解决手势冲突

    有时候我们在一个大的透明view上添加一个小的view,需要点击透明view时remove掉,但是我们不希望触碰到小的view上也remove就需要实现 UIGestureRecognizerDele ...

  3. Linux_用户级_常用命令(1):ls

    开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! Linux常用命令第1集包含命令:ls 一.何为常用命令 人和系统交互的指令集合,构成了shell.Sh ...

  4. Android 获取版本号

    啥也不是,直接看代码 public int getVersionCode(){ int versionCode = 0; try { PackageInfo packageInfo = getPack ...

  5. 一个section刷新 一个cell刷新

    一个section刷新   一个cell刷新 //一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2]; [tabl ...

  6. Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)

    Kafka 0.9版本对java client的api做出了较大调整,本文主要总结了Kafka 0.9在集群搭建.高可用性.新API方面的相关过程和细节,以及本人在安装调试过程中踩出的各种坑. 关于K ...

  7. JVM之几种垃圾收集器简单介绍

    本文中的垃圾收集器研究背景为:HotSpot+JDK1.7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的算法. JVM会从年轻代 ...

  8. day4总结

    函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或 ...

  9. 20160712001 SQL server R2 更名

    use mastergoselect @@servername;select serverproperty('servername') sp_dropserver 'BPM-SERVER'gosp_a ...

  10. h5网页中使用打电话功能

    如果需要在移动浏览器中实现拨打电话,发送email,美国服务器,调用sns等功能,移动手机WEB页面(HTML5)Javascript提供的接口是一个好办法. 采用url链接的方式,实现在Safari ...