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