1.什么是箭头函数

ES6引入的一种新的函数,类似匿名函数,x=>xx

箭头左端为函数参数,右端为函数体

相当于

function (x){

retutn x
x

}

2.箭头函数的特点

更简洁

3.箭头函数和匿名函数的区别

箭头函数和匿名函数的区别在于this关键字的使用

在前面的总结中,知道对象的方法中定义的内部方法是无法使用this关键字的

箭头函数修复了这个缺陷,内部方法也可以使用this关键字,指向当前对象。

4.什么是生成器

javascript的生成器和python的生成器雷同,遇yield关键字返回,保存上下文,

下次从yield关键字之后继续执行。

5.生成器generator和普通函数的比较

generator可以在执行过程中多次返回,保存执行状态。

generator可以使异步代码同步执行,如ajax的执行是异步的,若需要同步执行,只能在ajax的success回调中执行

而使用yield,可以自动阻塞异步代码的执行。

ajax('http://url-1', data1, function (err, result) {
if (err) {
return handle(err);
}
ajax('http://url-2', data2, function (err, result) {
if (err) {
return handle(err);
}
ajax('http://url-3', data3, function (err, result) {
if (err) {
return handle(err);
}
return success(result);
});
});
});

生成器

try {
r1 = yield ajax('http://url-1', data1);
r2 = yield ajax('http://url-2', data2);
r3 = yield ajax('http://url-3', data3);
success(r3);
}
catch (err) {
handle(err);
}

javascript基础拾遗(五)的更多相关文章

  1. JavaScript 基础第五天

    一.引言 前面我们讨论了函数的一些基本概念,因为函数在任何一门语言之中都是很重要所以还是要好好学.昨天打开博客的时候看到有人私信我的JavaScript写错了,我定睛一看果然写错了.对此我表示很抱歉, ...

  2. JavaScript基础学习(五)—其他引用类型

         JavaScript定义了两个内置对象: Global和Math. 一.Global对象 1.URI编码方法      Global对象的encodeURI()和encodeURICompo ...

  3. javascript基础拾遗(十三)

    1.jQuery的特点 jQuery是目前非常流行的javascript库,理念是"Write Less,Do More" 1)消除浏览器差异 2)简洁的操作DOM方法 3)轻松实 ...

  4. javascript基础拾遗(十二)

    1.javascript的单线程特性 在javascript中,所有的代码都是单线程的 因此所有的网络操作,浏览器事件,都必须是异步执行的,异步执行的逻辑是回调. function callback( ...

  5. javascript基础拾遗(十一)

    1.DOM操作 1)查找 //根据id查找 document.getElementById() //根据html标签查找 documnet.getElementByTagName() //根据样式cl ...

  6. javascript基础拾遗(十)

    1.支持ES6标准的浏览器 IE10+ Chrome Safari Firefox 移动端浏览器统一都支持 需要注意的是,不同浏览器对各个特性的支持也不一样 2.window对象 当前浏览器窗口对象 ...

  7. javascript基础拾遗(七)

    1.对象的继承__proto__ var Language = { name: 'program', score: 8.0, popular: function () { return this.sc ...

  8. javascript基础拾遗(六)

    1.Date内置对象 获取系统时间 var now = new Date() console.log(now) console.log(now.getDate()) console.log(now.g ...

  9. javascript基础拾遗(二)

    1.对象定义 定义属性 var language = { name:'javascript', score:9.0 }; console.log(language.name) console.log( ...

随机推荐

  1. Mysql 将结果保存到文件 从文件里运行sql语句 记录操作过程(tee 命令的使用)

    1.  有时候我们可能须要记录我们对mysql的操作过程,这时我们能够使用mysql的tee命令 1)第一种情况是在链接数据库的时候使用tee >mysql  -u root  -p  --te ...

  2. 【Mysql】php执行脚本进行mysql数据库 备份和还原

    一.mysql备份 1.这里使用 php脚本的形式进行mysql 数据库的备份和还原,想看linux的sh版本的,有时间再贴. 2.找到 mysql的[mysqldump] 执行程序,建议phpinf ...

  3. Linux-配置虚拟IP

    Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...

  4. java读取txt字符串挨个写入int数组

    int []num=new int[1001]; FileReader fr = new FileReader("1.txt"); BufferedReader br = new ...

  5. 过滤IP地址的正则表达式

    现场需求,过滤 指定IP段位的相关话单,收集看看用正则表达式怎么写, 原文地址:http://www.cnblogs.com/kongxianghai/p/3995463.html 检测IP地址的正则 ...

  6. magento登陆

    magento判断用户登录 Magento 登陆之后返回登录之前的页面 magento 在登陆后一般会自动跳转到 My Account 页面 但是经常会有需求 就是登陆自动跳转到 之前的页面里面 工具 ...

  7. Java/Android倒计时(开始,暂停,恢复,停止)

    由于要做暂停和恢复,这里我就没有使用Android的CountDownTimer,而是用了Java的Timer.所以,这个方法在java肯定是通用.我也外加了Android独有的Service,有些计 ...

  8. 使用JDBC改变Oracle的session參数 NLS_DATE_FORMAT

    近期项目除了一个问题,场景大概是这种,项目在国外开发.在项目开发过程中使用了大量的Oracle函数TO_DATE,可是开发者没有写第二个參数. 所以项目在国外的server上能够正常执行.但是在国内的 ...

  9. Linux中在防火墙中开启80端口的例子

    最近自己在学习Linux.搭建一个LNMP环境.在测试时一切都好.然后重启Linux后.再次访问网站无法打开.最终原因是在防火墙中没有加入 80 端口的规则.具体方法如下: 在CentOS下配置ipt ...

  10. DCM 图片查看

    因为要处理一些医学图像,需要把dcm格式的文件转换成jpg格式.本来用Sante DICOM Editor用得挺好的,方便查看dcm文件,但是在转换上每次只能转一张(本人没有找到用该软件批量转格式的方 ...