关闭

三十分钟熟悉es6(es6日常使用功能总结)

1、前注本文是对es6的小结,关于详细说明可以参照我的系列文章es6 从入门到熟练,或者阮一峰的ECMAScript 6 入门。我的系列文章是在阮一峰对应文章的基础上,增加更多适合初中级开发者的内容(包括代码和解释),降低学习难度。本文是在以上基础上,结合我本人实际开发经验,对es6整体的一个小结。缩减了不常用的内容,只着重阐述一些常用的东西,方便初级中级开发者理解。2、开发环境关键字:IE9、Ba...
阅读(81) 评论(0)

从零开始学_JavaScript_系列(68)——es6模块的使用

1、es6模块用于浏览器中标准写法是: console.log('module') 按照预期效果是会非堵塞加载,然后再执行。事实上是里面的代码根本不会执行。又比如说: 你以为会...
阅读(83) 评论(0)

从零开始学_JavaScript_系列(67)——es6的import和export(chrome61版本后可用)

import和export...
阅读(86) 评论(0)

从零开始学_JavaScript_系列(66)——AMD、CMD、CommonJS

AMD、CMD、CommonJS...
阅读(70) 评论(0)

从零开始学_JavaScript_系列(65)——class的继承(2)super、extends与多重继承

4、super关键字4.1、作为函数时使用当super作为函数时使用,非常简单。 只允许在子类的构造函数中调用; 并且需要在调用this之前调用; 而且必须调用一次(除非你省略掉子类的构造函数); 如果不符合以上要求,那么就会报错,以下是标准写法class Foo { }class Bar extends Foo { constructor() { super() }...
阅读(53) 评论(0)

从零开始学_JavaScript_系列(64)——class的继承(1)基本概念、继承构造函数和class

1、class继承概述1.1、所谓继承继承这个概念还需要解释么?好吧,我解释一下:简单粗暴的解释继承,就是指: 我定义一个类A,他自带一些方法; 然后我定义一个类B,他有一些方法是独特的,但他还有一些方法是类A已有的,那么如果让类B再重复定义这些类A已有的方法,显然是低效的写法; 这种让类B可以使用类A的方法的做法,就是继承; 传统解决办法是创建一个类A的实例,然后让类B指向这个创建的实例,从而利用...
阅读(40) 评论(0)

从零开始学_JavaScript_系列(63)——class(4)静态方法和new.target

9、类静态方法9.1、基本概念所谓静态方法,在class指专属于class本身的方法,而且不会被类的实例所继承。如代码:class Foo { static test() { console.log("this is static") } } Foo.test() // this is static let p = new Foo() p.test() //...
阅读(80) 评论(0)

从零开始学_JavaScript_系列(62)——class(3)setter和getter、Generator、async函数

6、setter和getter之前说过,常规情况下,类是没办法直接实现变量的。有一种变相的做法,是用es5的setter和getter特性来实现。但这种办法并不是完美的,有两个缺陷: setter和getter,就功能来说更强大,但对于一般需求来说,又过于复杂了; setter和getter本身只是起到一个代理的作用,本身并不能真正存储变量,还是需要通过一个间接的变量来存储他; 这个用于存储的间接的...
阅读(109) 评论(0)

从零开始学_JavaScript_系列(61)——class(2)私有方法、this

4、私有4.1、私有方法不得不遗憾的表示,目前来看,类似c++或者java里的那种私有方法和私有变量,在js里面还是实现不了的。因此变通方法有三个:1、伪私有:下划线开头表示私有方法。如代码:class Foo { _testPrivate() { } }这种私有方法是一种约定俗称的私有方法命名方式。用下划线开头,表示告诉使用者,这些是私有方法,你最好不要改,改了有可能出错。但实际中,...
阅读(92) 评论(0)

从零开始学_JavaScript_系列(60)——class(1)基本概念

1、概念1.1、前注如果对c++之类语言比较熟悉的话,上手class的难度会很低,比上手原型链的难度低不少。目前来看,class的实现,依然是通过构造函数和原型链来实现的(相当于是一个语法糖,至少目前是这样的),而在Babel转码之后,也是通过构造函数和原型链来做到的。这里对于较为简单的内容,不会费太多笔墨,如果某些地方不太明白,可以看阮一峰的博文。1.2、基本形态为了帮助理解,写一个构造函数版,和...
阅读(98) 评论(0)

前端的小玩意(16)——利用setter和getter实现数据校验

利用setter和getter实现数据校验写前端和后端的时候,往往要进行数据校验。例如:后端在处理数据之前,需要校验前端传过来的数据和后端要求的数据是否相符,以及是否存在超限问题(大于最大值或者小于最小值,或者字符串长度过长过短)。在常规做法中,我们需要写多个函数,然后一个一个的校验过去,十分麻烦。如果某个属性要在多个地方验证,并且验证条件是统一的,那么有两种写法: 比较笨是把一个写好的复制到另外一...
阅读(182) 评论(0)

从零开始学_JavaScript_系列(59)——async函数

1、async函数简介1.1、前注在阅读本章节之前,建议先阅读 【Generator函数】章节和【Thunk函数】章节。不然很有可能对本章节内容摸不着头脑,或者理解有所偏差。如果有所了解或者比较熟悉的话,那么对本章绝大部分内容上手是非常轻松的。这里假定你已经对以上知识有所理解,不考虑完全不懂的人能否理解本博文。1.2、兼容性关于asnyc函数的兼容性:Can I use网站的说明简单来说:支持asy...
阅读(78) 评论(0)

从零开始学_JavaScript_系列(58)——Thunk函数

1、Thunk函数基本定义1.1、缘由与函数的求值策略有关,求值策略分为两种: 传名策略:在需要求值的时候才求值; 传值策略:在传入函数的时候就求值;(又有说法叫按值传递) 如以下的示例代码:function foo(a) { return a * 10 // 1+2在这里计算结果叫做【传名策略】 } foo(1 + 2) // 1+2在这里计算结果叫做【传值策略】JavaScript...
阅读(102) 评论(0)

从零开始学_JavaScript_系列(57)——Generator函数(5)状态机与函数的应用

6、状态机这里的状态机通常指有限状态机。所谓的有限状态机,是一个模型,通俗的来说: 这个模型有x个状态(x可确定),在任一时刻只能处于一个状态下,并且可以从一个状态切换到另外一个状态。 举个例子: 假如有一个ajax请求的提交按钮(比如【登陆】); 他有两个状态:①待命中;②提交中; 显然,他要么处于【待命】状态,要么处于【提交】状态,不可能又待命又提交; 其中待命状态是可点击的,而提交状态是不...
阅读(84) 评论(0)

从零开始学_JavaScript_系列(56)——Generator函数(4)简写,this与继承

5、简写与this5.1、简写Generator函数的写法有三种(除了第一种名字都自己捏的): 声明式; 赋值式; 属性式; 其中,属性式除了常规写法外,还有简写版(就像当函数作为对象属性时的简写一样)。如代码,一目了然:// 声明式 function *g1() { yield 'g1' }// 赋值式 let g2 = function*() { yield 'g2' }// 属...
阅读(68) 评论(0)
345条 共23页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:268192次
    • 积分:5962
    • 等级:
    • 排名:第4408名
    • 原创:336篇
    • 转载:5篇
    • 译文:0篇
    • 评论:61条
    博客专栏
    最新评论