1.next()方法会执行generator的代码,然后,每次遇到yield x;就返回一个对象{value: x, done: true/false},然后“暂停”.返回的value就是yield的返回值,done表示这个generator是否已经执行结束了.如果done为true,则value就是return的返回值. 当执行到done为true时,这个generator对象就已经全部执行完毕,不要再继续调用next()了. mounted(){ var _this = this; func…
todo 一.Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同. 语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态. 执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数.返回的遍历器对象,可以依次遍历 Generator 函数内部的每一个状态. 形式上,Generator 函数是一个普通函数,但是有两个特征. 一是,function关键字与函数名…
Map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: var names = ['Michael', 'Bob', 'Tracy']; var scores = [95, 75, 85]; 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,Array越长,耗时越长. 如果用Map实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有…
JS 开发者必须知道的十个 ES6 新特性 这是为忙碌的开发者准备的ES6中最棒的十个特性(无特定顺序): 默认参数 模版表达式 多行字符串 拆包表达式 改进的对象表达式 箭头函数 =&> Promise 块级作用域的let和const 类 模块化 注意:这个列表十分主观并且带有偏见,其他未上榜的特性并不是因为没有作用,我这么做只是单纯的希望将这份列表中的项目保持在十个. 首先,一个简单的JavaScript时间线,不了解历史的人也无法创造历史. 1995年:JavaScript以LiveS…
新的ES6中引入了promise的概念,目的是让回调更为优雅.层层嵌套的回调会让javascript失去美感和可读性,同时javascript也推荐采用链式的方式去书写函数调用.于是Promise就应运而生.Promise即承诺的意思,new一个Promise就是新建一个承诺.在新建一个承诺的时候你需要做两件事情: 1.指定承诺所需完成的事 2.设置承诺是否实现的标准 下面我们来定义一个承诺: 1.承诺的内容:“获取data.php的数据”, 2.承诺是否实现的评判是:“是否获取data.php…
因为经常使用数据格式,所以将它封装成类,J这样就不会用到时就写了,直接调用写好的类就可以了 (1)dataType数据格式为:TEXT格式的数据是字符串的数据,在"ajax对数据进行删除和查看"的那篇博客中说过,这里在说下 结果不会每个传输的都是字符串,有时是二维数组,这样就要转换为字符串格式了 class DBDA { public $host="localhost"; //数据库连接 public $uid="root"; //用户 publ…
AJAX 中Sys.WebForms.PageRequestManager的事件激发顺序 测试代码: 测试代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="AjaxCtpWebDemo.Test" %> <!DOCTYPE html PUBLIC "-//W3C//DTD X…
JSON是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.AJAX是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术.之前也曾介绍过在PHP语言中使用JSON的文章,大家也可以看看,供参考. 虽然XML在Ajax运行中具有举足轻重的地位,但JavaScript开发人员很快就对它失去了兴趣.在JavaScript中操作XML存在严重的跨浏览器问题,而且从XML结构中提取数据也需要涉及遍历DOM文档,而这些操作都需要编写大量的代码.Douglas Crockford…
生成器虽然是ES6最具魔性的新特性,但也是最难懂得的一节,笔者写了大量的实例来具体化这种抽象的概念,能够让人一看就懂,目的是希望别人不要重复或者减少笔者学习生成器的痛苦经历. 在说具体的ES6生成器之前,我觉得我们应该先来看一个例子,因为它真的很晦涩,我们需要先增加一下兴趣会说话的猫 ES6生成器可以说是ES6新特性中最具魔力的特性,它可以极大的简化代码,并且贯穿了整个ES6的使用.它与我们以前学过的js特性都不同,它可以在函数的内部随时暂停. 那么我们从最简单的定义生成器说起,这可能会相对容易…
对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() 方法,我们先来看一下 Object.assign() 方法: Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象.如下: const target = { a: 1, b: 2 }; const source = { b: 4, c: 5…