摘要: ES6 加强了对 Unicode 的支持,并且扩展了字符串对象。 1.字符的Unicode表示法 JavaScript 允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。 从来不知道好可以这么做。 但是,这种表示法只限于码点在\u0000~\uFFFF之间的字符。超 阅读全文
posted @ 2019-03-17 10:21 jixhua 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 1.数组的解构赋值 1.1基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 ES6 允许写成下面这样。 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。的确高大上了许多有木有。 本质 阅读全文
posted @ 2019-03-16 21:21 jixhua 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 1.一些历史 ES6(ECMAScript 6.0)是 JavaScript 语言的新一代标准,于2015 年 6 月正式发布,距今已经4年了,它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 而我们现在所广泛使用的ES5版的JavaScript其实是 阅读全文
posted @ 2019-03-15 23:12 jixhua 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 1.以复制方式实现的继承 1.1浅拷贝 基本类型的复制 以上代码中,通过一个extend()函数,将父对象parent的属性遍历赋给子对象child,从而实现继承。 但是这种字面量复制的方式存在巨大的缺陷,当父对象有引用类型的属性时,通过这么复制的方式,就像上一节中的var b = a一样,只会将a 阅读全文
posted @ 2019-03-12 23:03 jixhua 阅读(1021) 评论(0) 推荐(0) 编辑
摘要: 1.对象创建的3中方法 1.1.对象字面量 使用get/set的好处就是可以对值进行逻辑判断,这种方法定义的对象并不能实现Java中的private私有化效果。 在对多层嵌套对象的属性级联访问时,要对中间属性判空,除了多个if 判断之外,还可以这么写: 注意:没有这个属性的时候会返回undefine 阅读全文
posted @ 2019-03-10 16:11 jixhua 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 1.什么是闭包? 维基百科解释为: 在计算机科学中,闭包(Closure)是词法闭包(Lexcial Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造他的环境也不例外。所以,另有一种说法认为闭包是自由函数和与其相关的引用环境组合而成的实体。 阅读全文
posted @ 2019-03-09 22:43 jixhua 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 有如下代码: 这段代码4个alert(),根据前面的预处理知识,首先a是undefined,d是f的局部变量,c不会被预处理,所以报错,那b呢?结果是b也弹出undefined,说明在预处理的时候,if else判断语句被忽略了。 首先知道,作用域有4类,分别是: 块作用域; 函数作用域; 动态作用 阅读全文
posted @ 2019-03-09 12:48 jixhua 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 声明:之所以分为全局预处理与函数预处理,只是为了理解方便,其实在实际运行中二者是不分先后的。 函数预处理阶段与全局预处理的差别: 函数每调用一次,就会产生一个LexicalEnviroment对象,在全局预处理中该对象就是window对象,但在函数预处理中该对象是不可见,无法访问的,因为他是JS解析 阅读全文
posted @ 2019-03-07 00:28 jixhua 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 有如下代码: 不论var f 与function f 的先后顺序如何,该代码执行的结果总是弹出function f 的字符串,为什么呢?像这种函数与变量命名冲突时JS的处理原则又是什么? 在扫描函数声明与变量声明的时候,是先扫描函数声明(function fn()),后扫描变量声明(var a)的; 阅读全文
posted @ 2019-03-06 23:48 jixhua 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 问题:有如下代码 这段代码的执行结果为undefined,为什么呢? JS的解析与执行并不是读一行,处理一行,读一行,处理一行这样进行的,而是分为两个阶段: 1、预处理阶段; 2、执行阶段; 然后分别以全局和函数内部的局部代码而言: 1、全局预处理 在解析JS代码的时候,首先会创建一个全局Lexic 阅读全文
posted @ 2019-03-06 00:21 jixhua 阅读(348) 评论(0) 推荐(0) 编辑