随笔分类 -  JavaScript

摘要:https://www.cnblogs.com/lmjZone/p/8760232.html 阅读全文
posted @ 2019-12-08 23:09 jixhua 阅读(286) 评论(0) 推荐(0) 编辑
摘要:转载来源:https://zhidao.baidu.com/question/1946829886340846268.html 在浏览器地址栏输入:chrome://net-internals/#hsts 然后到Add domain下,Domain添上诸如google.com,并勾选Include 阅读全文
posted @ 2019-08-09 16:22 jixhua 阅读(6932) 评论(0) 推荐(0) 编辑
摘要:ArrayBuffer ArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口。它们都是以数组的语法处理二进制数据,所以统称为二进制数组。 二进制数组由三类对象组成。 (1)ArrayBuffer对象: 代表内存之中的一段二进制数 阅读全文
posted @ 2019-04-16 08:11 jixhua 阅读(14061) 评论(3) 推荐(3) 编辑
摘要:本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。 1.块级作用域 (1)let 取代 var ES6 提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let 阅读全文
posted @ 2019-04-15 07:27 jixhua 阅读(350) 评论(0) 推荐(0) 编辑
摘要:上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。 1.浏览器加载 传统方法 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。 上面代码中,由于浏览器脚本的默认语言是 JavaScri 阅读全文
posted @ 2019-04-14 18:54 jixhua 阅读(548) 评论(0) 推荐(0) 编辑
摘要:1.概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面 阅读全文
posted @ 2019-04-14 17:41 jixhua 阅读(1186) 评论(0) 推荐(0) 编辑
摘要:1.简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链prototype实现继承,要清晰和方便很多。 上面代码定义了一个ColorPoint类,该类通过extends关键字,继承了Point类的所有属性和方法。但是由于没有部署任何代码,所以这两个类完全一样,等于复 阅读全文
posted @ 2019-04-12 08:05 jixhua 阅读(340) 评论(0) 推荐(0) 编辑
摘要:1.简介 类的由来 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。 种写法跟传统的面向对象语言(比如 C++ 和 Java)差异很大。 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。 基本 阅读全文
posted @ 2019-04-10 07:47 jixhua 阅读(473) 评论(0) 推荐(0) 编辑
摘要:1.含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖,号称异步的终极解决方案。 前文有一个 Generator 函数,依次读取两个文件。 上面代码的函数gen可以写成async函数,就是下面这样。 阅读全文
posted @ 2019-04-09 07:34 jixhua 阅读(361) 评论(0) 推荐(0) 编辑
摘要:1.传统方法 ES6 诞生以前,异步编程的方法,大概有下面四种。 回调函数 事件监听 发布/订阅 Promise 对象 Generator 函数将 JavaScript 异步编程带入了一个全新的阶段。 2.基本概念 异步 所谓"异步",简单说就是一个任务不是连续完成的,可以理解成该任务被人为分成两段 阅读全文
posted @ 2019-04-07 21:57 jixhua 阅读(284) 评论(0) 推荐(0) 编辑
摘要:清明时节雨纷纷,路上行人欲断魂。 借问酒家何处有,牧童遥指杏花村。 二零一九年农历三月初一,清明节。 1.简介 1.1.基本概念 Generator 函数也是 ES6 提供的一种异步编程解决方案,据说在Promise没有诞生之前就靠Generator,但由于用起来比较困难而被取代了。 Generat 阅读全文
posted @ 2019-04-06 23:20 jixhua 阅读(332) 评论(0) 推荐(0) 编辑
摘要:1.概念 遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。 Iterator 的作用有三个: Iterator 的遍历过程: (1)创建一个指针对象, 阅读全文
posted @ 2019-03-25 23:09 jixhua 阅读(356) 评论(0) 推荐(0) 编辑
摘要:1.Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是 阅读全文
posted @ 2019-03-21 08:10 jixhua 阅读(726) 评论(4) 推荐(1) 编辑
摘要:1.概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Obje 阅读全文
posted @ 2019-03-20 22:56 jixhua 阅读(528) 评论(0) 推荐(0) 编辑
摘要:Java可以使用面向切面(AOP)的方法来实现某些统一的操作,比如某个操作的前置通知,后置通知等等,这种操作非常方便,其本质便是动态代理,JS的代理Proxy代理该如何使用呢? 某位大神的实现如下: 然后开始学习Proxy 1.概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改, 阅读全文
posted @ 2019-03-20 15:38 jixhua 阅读(921) 评论(0) 推荐(0) 编辑
摘要:1.set 基本等于Java的Set集合类型,无序不可重复集,常被用来去重。 基本用法 Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 上面代码中,例一和例二都是Set函数接受数组作为参数,例三是接受类似数组的对象作为参数。 上面代码也展示了一种去 阅读全文
posted @ 2019-03-19 22:42 jixhua 阅读(308) 评论(0) 推荐(0) 编辑
摘要:1.概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入S 阅读全文
posted @ 2019-03-19 17:53 jixhua 阅读(318) 评论(0) 推荐(0) 编辑
摘要:1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符( )。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。 ES6 提出“Sa 阅读全文
posted @ 2019-03-19 16:18 jixhua 阅读(245) 评论(0) 推荐(0) 编辑
摘要:1.扩展运算符 1.1含义 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 相当于对数组进行了遍历。该运算符主要用于函数调用。 上面代码中,array.push(...items)和add(...numbers)这两行,都是函数的调 阅读全文
posted @ 2019-03-19 08:10 jixhua 阅读(165) 评论(0) 推荐(0) 编辑
摘要:1.函数参数的默认值 1.1基本用法 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数log的参数y有没有赋值,如果没有,则指定默认值为World。这种写法的缺点在于,如果参数y赋值了,但是对应的布尔值为false,则该赋值不起作用。就像上面代码的最后一行,参数y 阅读全文
posted @ 2019-03-17 17:44 jixhua 阅读(380) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示