2 builder2991

尚未进行身份认证

等级
TA的排名 5w+

ES6之对象的扩展

9 对象的扩展9.1 属性的简洁表示法ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。var foo = ‘bar’;var baz = {foo};baz // {foo: “bar”}// 等同于var baz = {foo: foo};上面代码表明, ES6 允许在对象之中,只写属性名,不写属性值。这时,属性值等于属性名所代表的变量。下面是另一...

2020-03-27 09:35:03

ES6之Proxy 和 Reflect

11 Proxy 和 Reflect11.1 Proxy 概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种 “ 元编程 ” ( meta programming ),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层 “ 拦截 ” ,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。 Proxy...

2020-03-26 16:35:35

ES6之 二进制数组

12 二进制数组二进制数组(ArrayBuffer对象、 TypedArray 视图和DataView视图)是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格( 2011 年 2 月发布), ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。这个接口的原始设计目的,与 WebGL 项目有关。所谓 WebGL ,就是指浏览器与显卡之间的通...

2020-03-26 11:50:07

Android之碎片

Android之碎片(Fragment)碎片是活动的一部分,使得活动更加的模块化设计。碎片是一种子活动。下面是关于碎片的重要知识点 -碎片拥有自己的布局,自己的行为及自己的生命周期回调。当活动在运行的时候,你可以在活动中添加或者移除碎片。你可以合并多个碎片在一个单一的活动中来构建多栏的UI。碎片可以被用在多个活动中。碎片的生命周期和它的宿主活动紧密关联。这意味着活动被暂停,所有活动...

2020-03-26 09:51:03

Android之RadioButton和CheckBox控件

Android之RadioButton和CheckBox控件RadioButton控件介绍RadioButton继承CompoundButton,是单选按钮。android:checked设置按钮是否选中。用setOnCheckedChangeListener(OnCheckedChangeListener)来对单选按钮进行监听。实现RadioButton控件public class ...

2020-03-26 09:49:23

Android之ListView控件

Android之ListView控件ListView类ListView的主要属性stackFromBottom,设置为true时,内容将从底部开始显示cacheColorHint,设置为#00000000透明时,可以避免拖动时背景显示黑色的问题divider,设置分割线,#00000000或@null分割线被隐藏fadingEdge,设置为none,去除上边和下边的阴影scroll...

2020-03-26 09:28:32

ES6之异步操作和 Async 函数

17 异步操作和 Async 函数异步编程对 JavaScript 语言太重要。 Javascript 语言的执行环境是 “ 单线程 ” 的,如果没有异步编程,根本没法用,非卡死不可。ES6 诞生以前,异步编程的方法,大概有下面四种。回调函数事件监听发布 / 订阅Promise 对象ES6 将 JavaScript 异步编程带入了一个全新的阶段, ES7 的Async函数更是提出...

2020-03-25 20:26:45

ES6之 Module

20 ModuleES6 的 Class 只是面向对象编程的语法糖,升级了 ES5 的构造函数的原型链继承的写法,并没有解决模块化问题。 Module 功能就是为了解决这个问题而提出的。历史上, JavaScript 一直没有模块( module )体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、 Python ...

2020-03-25 18:27:47

ES6之Generator 函数

15 Generator 函数15.1 简介15.1.1 基本概念Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API ,它的异步编程应用请看《异步操作》一章。Generator 函数有多种理解角度。从语法上,首先可以把它理解成, Generator 函数是一个状态机,封装了多个内部状态。...

2020-03-25 16:58:03

ES6之Class

18 Class18.1 Class 基本语法18.1.1 概述JavaScript 语言的传统方法是通过构造函数,定义并生成新对象。下面是一个例子。function Point(x, y) {this.x = x;this.y = y;}Point.prototype.toString = function () {return ‘(’ + this.x + ', ’ + t...

2020-03-25 14:43:25

ES6之 Iterator 和 for...of 循环

14 Iterator 和 for…of 循环14.1 Iterator (遍历器)的概念JavaScript 原有的表示 “ 集合 ” 的数据结构,主要是数组( Array )和对象( Object ), ES6 又添加了 Map 和 Set 。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是 Map , Map 的成员是对象。这样就需要一种统一的接口机...

2020-03-25 11:21:58

ES6之Set 和 Map

13 Set 和 Map 数据结构13.1 Set13.1.1 基本用法ES6 提供了新的数据结构 Set 。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。var s = new Set();[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));for (let i of s) {co...

2020-03-25 10:28:14

ES6之Symbol

ES6之Symbol10.1 概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法( mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入 Symbol 的原因。ES6 引入了一种新的原始数据类型 Sy...

2020-03-25 09:25:59

ES6之函数的扩展

ES6之函数的扩展函数参数的默认值基本用法在 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) { y = y || 'World'; console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', ...

2020-03-24 19:44:47

ES6之数组的扩展

ES6之数组的扩展Array.from()Array.from方法用于将两类对象转为真正的数组:类似数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的数据结构 Set 和Map )下面是一个类似数组的对象,Array.from将它转为真正的数组。let arrayLike = { '0': 'a', '1': 'b', '...

2020-03-24 14:44:49

ES6之数值的扩展

ES6之数值的扩展二进制和八进制表示法ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。0b111110111 === 503 // true0o767 === 503 // true从 ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示, ES6 进一步明确,要使用前缀0o表示。// 非严格模式(function(){ con...

2020-03-24 14:17:31

ES6之正则的扩展

ES6之正则的扩展RegExp 构造函数在 ES5 中, RegExp 构造函数的参数有两种情况。第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符( flag )。var regex = new RegExp('xyz', 'i');// 等价于var regex = /xyz/i;第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。var ...

2020-03-24 11:50:05

ES6之字符串的扩展

ES6之字符串的扩展ES6 加强了对 Unicode 的支持,并且扩展了字符串对象。字符的 Unicode 表示法JavaScript 允许采用\uxxxx形式表示一个字符,其中 “xxxx” 表示字符的码点。"\u0061"// "a"但是,这种表示法只限于\u0000 —— \uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表达。"\uD842\uDFB7"/...

2020-03-24 11:13:52

ES6之变量的解构赋值

ES6之变量的解构赋值数组的解构赋值1.基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构( Destructuring )。以前,为变量赋值,只能直接指定值。var a = 1;var b = 2;var c = 3;ES6 允许写成下面这样。var [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位...

2020-03-24 10:09:12

JavaScript数据结构之排序和搜索算法

JavaScript数据结构之排序和搜索算法排序算法在开始排序算法之前,先创建一个数组(列表)来表示待排序和搜索的数据结构。function ArrayList(){ var array = []; //{1} this.insert = function(item){ //{2} array.push(item); }; this.toString= function(){ /...

2020-03-23 19:25:47

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。