• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > ES6新特性开发微信小程序(4)

ES6新特性开发微信小程序(4)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了微信小程序,小程序商店,小程序市场,小程序开发,微信开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
Symbol Type

ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。

Symbol值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的Symbol类型。凡是属性名属于Symbol类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

Iterators(迭代器)

ES6迭代器不是内建的,通过使用[Symbol.iterator]()和.next()来进行创建。Iterators(迭代器)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。

Iterator的作用:

为各种数据结构,提供一个统一的、简便的访问接口;

使得数据结构的成员能够按某种次序排列;

ES6创造了一种新的遍历命令for...of循环,Iterator接口主要供for...of消费。


Set、Map数据结构

ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set本身是一个构造函数,用来生成Set数据结构。


ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。如果你需要“键值对”的数据结构,Map比Object更合适。


WeakSet结构与Set类似,也是不重复的值的集合。但WeakSet只能存对象类型的元素,比如:Object, Array, Function 等。WeakSet中的对象都是弱引用,即垃圾回收机制不考虑WeakSet对该对象的引用,如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于WeakSet之中。有了弱引用的WeakSet, 就不用担心内存泄漏了。

WeakSet对象的方法只有三个,WeakMap没有size属性:

add(): 向集添加新元素。

delete(): 从集中移除指定元素。

has(): 如果集包含指定的元素,则返回 true。

WeakMap结构与Map结构基本类似,也是是键值对的集合。但WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名,而且键名所指向的对象,不计入垃圾回收机制。

WeakMap对象的方法,WeakMap没有size属性,WeakMap对象不能枚举:

clear():从 WeakMap 中移除所有元素。

delete(): 从 WeakMap 中移除指定的元素。

get(): 从 WeakMap 中返回指定的元素。

has(): 如果 WeakMap 包含指定元素,则返回 true。

set(): 添加新元素至 WeakMap。

toString():返回 WeakMap 的字符串表示形式。

valueOf():返回指定对象的原始值。

Typed Arrays(类型化数组)

类型化数组(ArrayBuffer对象、TypedArray视图和DataView视图)是JavaScript操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011年2月发布),ES6将它们纳入了ECMAScript规格,并且增加了新的方法。

类型化数组支持任意基于字节的数据结构,更方便的实现网络协议、加密算法、文件格式操作等功能。

ArrayBuffer是一段不透明的内存区域(所谓不透明,就是无法直接操作的数据块),单位是字节(Byte)也就是8位,它的byteLength属性返回其内存大小。

在ArrayBuffer上,可以使用不同的视图来创建任意数量的类型化数组, 这些类型化数组也可以是重叠的。有八种不同的类型化数组(视图),分别为:

Int8Array: 1个字节,8位二进制带符号整数 -2^7~(2^7) - 1

Uint8Array: 1个字节,8位无符号整数 0~(2^8) - 1

Int16Array: 2个字节,16位二进制带符号整数 -2^15~(2^15)-1

Uint16Array: 2个字节,16位无符号整数 0~(2^16) - 1

Int32Array: 4个字节,32位二进制带符号整数 -2^31~(2^31)-1

Uint32Array: 4个字节,32位无符号整数 0~(2^32) - 1

Float32Array: 4个字节,32位IEEE浮点数

Float64Array: 8个字节,64位IEEE浮点数

如果一段数据包括多种类型,这时除了建立ArrayBuffer对象的复合视图以外,还可以通过DataView视图

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小程序跟读 demo代码
  • 微信小程序-GetWeApp聊天室 代码
  • 微信小程序demo 仿手机淘宝
  • 微信小程序 Artand 瀑布流风格 代码demo
  • 微信小程序高仿手机QQ应用程序
  • 微信小程序-小商城前台
  • 微信小程序仿手机淘宝demo代码
  • 微信小程序仿Apple Music demo代码
  • 微信小程序整合一套UI库
  • 微信小程序妹子图片展示demo代码

相关文章

  • 2018-11-30微信小程序开发详细介绍
  • 2018-11-30实现微信小程序的在线支付功能代码解析
  • 2018-11-30微信小程swiper组件实现图片轮播切换功能教程
  • 2018-11-30微信小程序开发:配置详解
  • 2018-11-30微信小程序中实现瀑布流布局和无限加载
  • 2018-11-30微信小程序开发之页面跳转方式
  • 2018-11-30C语言实现的一个万年历小程序(附代码)
  • 2018-11-30如何高效开发小程序?推荐一个绝对好用的小程序开源框架
  • 2018-11-30JS的EventEmitter使用步奏详解
  • 2018-11-30微信小程序实例:引入框架WeUI的代码实现

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 分享一套拼车小程序源码(前端+后端)
    • 微信小程序开发优化建议
    • 图片路径导致webpack打包错误如何处理
    • 微信小程序的服务范围查询
    • 微信小程序 css使用技巧总结
    • 微信小程序之页面传值详解
    • 微信小程序表单组件单选框 radio
    • 微信小程序websocket人如何实现SpringMVC+Spring+Mybatis的实例
    • 微信小程序之换肤功能的实现方法
    • 小程序开发之刻度尺滑块选择打赏金额功能

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有