- 博客(16)
- 资源 (1683)
- 收藏
- 关注
原创 ES6学习——总结
JS从ES3.1到ES5再到ES6,可以说有了本质性的进步,API越来越多,语言特性也越来越丰富,这些都是随着Web的发展而来。以前的JS基本只能用在桌面PC网页端,但现在JS真是无处不在,后端有nodejs,kinoma在嵌入式设备上实现了ES6的运行时环境。手机App也可以用JS编写,比如现在比较流行的React Native,都大大拓展了JS的使用边界,毫不夸张的说,以后JS会无处不在。如果
2016-02-08 16:30:30 1426
原创 ES6学习——ES7
ES7是ES6的下一个版本,官方应该叫ES2017,其实ES6官方也叫ES2016,以后都会以年来命名规范的名称。ES6还没有完全得到浏览器的支持,为什么要了解ES7呢?技术总在不断的发展,多知道一些新技术可以拓展你的见识与思路,在设计程序的时候可以更加灵活。关于ES7的内容,可以参考这里:https://github.com/tc39/ecma262#current-proposals,新的
2016-02-08 10:14:12 2959
原创 ES6学习——模块化:Module Loader API
上篇讲的模块化API总体来讲是个静态导入的过程,就是不能根据程序逻辑动态的导入一些其他模块。在ES6规范的草案阶段有个动态导入的API,但是在ES6正式规范出来的时候被去掉了,大家可以参考https://github.com/ModuleLoader/es6-module-loader,个人觉得这个API还是很有用的,所以这里介绍一下。其实这个API很简单,基于Promise模式://my
2016-02-07 19:06:50 1455
原创 ES6学习——模块化:import和export
关于JS模块化的使用,大家肯定不默认,现有的主要有两种CMD和AMD,还有一种兼容CMD和AMD写法的UMD。一般前端框架都支持AMD,而node.js采用的是CMD的模块语法。ES6中规范化了模块的导入和导出语法,在规范的15.2章节中。现在浏览器还有不支持,想要尝试的可以使用Traceur或者Babel。貌似Angular 2.0也要采用ES6的模块化语法,相信以后浏览器肯定会逐步支持的。
2016-02-07 15:35:17 23166 1
原创 ES6学习——正则表达式新特性
简单说一下正则表达式中新加入的特性:1)flags属性:/abc/ig.flags//gi2)/u unicode标记,Chrome 48都还不支持这个标记/\uD83D/.test('\uD83D\uDC2A')//true/\uD83D/u.test('\uD83D\uDC2A')//false/\uD83D/u.test('\uD83D \uD83D\uDC2A')//
2016-02-05 09:36:22 2171
原创 ES6学习——新加API:Number
新加静态属性:Number.EPSILONNumber.MAX_SAFE_INTEGER(2^53 - 1)Number.MIN_SAFE_INTEGER -(2^53 - 1)方法:1)Number.isNaN这个方法和全局的isNaN有个区别就是不会强转传入的参数:var a = NaN, b = "NaN", c = 42;isNaN(
2016-02-04 09:28:02 1041
原创 ES6学习——新加API:Math
直接列一下新的API,这些API估计用到的人会比较少都,用到的时候再去查吧。cosh(..)acosh(..)sinh(..)asinh(..)tanh(..)atanh(..)hypot(..)cbrt(..)clz32(..)expm1(..)log2(..)log10(..)log1p(..)
2016-02-03 14:49:18 658
原创 ES6学习——新加API:Object
这篇看看Object对象新添加的一些API。1)Object.is ( value1, value2 )使用===判断两个value是否相等,两个例外,NaN等于NaN,-0不等于+0。var x = NaN, y = 0, z = -0;x === x; // falsey === z; // trueObject.is( x, x ); // trueObject.is
2016-02-03 14:11:13 876
原创 ES6学习——新加API:Array
这篇文章我们逐一看看数组中新添加的API。1)Array.of ( ...items )静态方法,把items转成数组,可以代替Array构造函数。var a = Array( 3 );a.length; // 3a[0]; // undefinedvar b = Array.of( 3 );b.length; // 1b[0]; // 3var c = Array.o
2016-02-03 14:09:54 1271
原创 ES6学习——元数据(meta)编程:反射(Reflect)应用示例
其实这篇文中的例子,写在Proxy那篇里也行,这里单独拿出来,主要体现一下Reflect的作用。前面提到过JS中也都是单继承,这里我们用Proxy+Reflect还来自己实现一下对象多重继承:var obj1 = { name: "obj-1", foo() { console.log( "obj1.foo:", this.name ); }},obj2 = { name: "
2016-02-03 10:46:31 3965
原创 ES6学习——元数据(meta)编程:反射(Reflect)API介绍
Reflect作用主要是配合着Proxy来用的,Proxy的handler里面可以拦截的方法,在Reflect中都对应着有相应的方法,其实就是起到转发给目标对象作用。Reflect和Math对象一样,里面都是静态方法,规范的26.1中有详细的描述。let proto = new Proxy({}, { get(target, propertyKey, receiver) { consol
2016-02-03 09:43:26 2883
原创 ES6学习——元数据(meta)编程:代理(Proxies)应用示例
这篇文章我们看一些例子,看看怎么使用代理。1)有意思的rest访问方式let service = createWebService('http://example.com/data');service.employees.then(json => { let employees = JSON.parse(json); console.log(employees);});f
2016-02-02 16:45:22 838
原创 ES6学习——元数据(meta)编程:代理(Proxies)API介绍
代理的概念大家应该很清楚了,设计模式中也有这个模式。ES6中关于代理的描述在26.2中,有兴趣的可以去看看。代理的API十分少,基本只有两个,一个是创建普通的代理,一个是创建可以收回的代理。下面先看怎么创建普通的代理:let target = {};let handler = { get(target, propKey, receiver) { console.log(`GET $
2016-02-02 15:29:32 731
原创 ES6学习——生成器(Generators):生成器高级应用
这篇文章看一下用生成器来处理字符串流,流式数据有个好处就是不必等到所有数据都接收到,就可以进行处理。从数据处理的方向上看,可以有pull和push两种模式,传统的http就是pull的模式,而最新的WebSocket就是push的模式。生成器既可以用pull的方式也可选择push的方式进行数据处理,看你是利用yield发数据还是接数据。下面这个例子就是处理字符串中的数字,然后简单的相加,最后得
2016-02-01 15:20:38 706
原创 ES6学习——生成器(Generators):生成器应用示例
这篇文章看几个生成器的例子,便于更好的理解生成器如何使用。1)遍历对象属性,这个在迭代器的时候给出过,这次用生成器重写一下function* objectEntries(obj) { let propKeys = Object.getOwnPropertyNames(obj); for (let propKey of propKeys) { yield [propKey, obj[
2016-02-01 10:12:42 615
Functional Programming in Swift (2014-10-01)
2015-05-21
The.Creation.and.Science.of.Web.Design.Jan.2009
2009-02-28
Packt.Publishing.Learning.Website.Development.with.Django.Mar.2008
2009-02-28
MS - Microsoft SQL Server 2008 T-SQL Fundamentals (2008.10).
2009-02-28
Microsoft Press - Microsoft Visual C# 2008 Express Edition Build a Program Now!.
2009-02-28
Microsoft .NET Architecting Applications for the Enterprise
2009-02-28
GoF Design Patterns with examples using Java and UML2
2009-02-28
Exploring C++ The Programmer’s Introduction to C++.
2009-02-28
Developing Service-Oriented AJAX Applications on the Microsoft Platform
2009-02-28
Building the Agile Enterprise With SOA, BPM and MBM
2009-02-28
Apress.Pro.Oracle.Application.Express.Sep.2008.eBook-DDU
2009-02-28
jQuery UI 1.6 - The User Interface Library for jQuery (Feb 2009)
2009-02-23
iPhone Open Application Development Second Edition
2009-02-23
I.O.U.S.A. One Nation. Under Stress. In Debt
2009-02-23
Delivering Business Intelligence with Microsoft SQL Server(TM) 2E 2008
2009-02-23
Apress[1].Pro.JavaScript.Design.Patterns.Dec.2007
2009-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人