新書推薦:
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:NT$
345.0
《
世界巨变:严复的角色(王中江著作系列)
》
售價:NT$
500.0
《
宋初三先生集(中国思想史资料丛刊)
》
售價:NT$
990.0
《
天生坏种:罪犯与犯罪心理分析
》
售價:NT$
445.0
《
新能源材料
》
售價:NT$
290.0
《
人工智能与大数据:采煤机智能制造
》
售價:NT$
440.0
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:NT$
790.0
《
我从何来:自我的心理学探问
》
售價:NT$
545.0
|
編輯推薦: |
JavaScript一直是Web开发*主要的脚本语言之一。正是因为JavaScript名气太大了,所以大家才忽略了ECMAScript作为其语言规范的存在。掌握ECMAScript语言规范,是熟练应用JavaScript进行Web开发的关键。由于ECMAScript语言规范几乎每年都进行一次更新,因此在比较重要的更新版本ECMAScript 2015(ES6版)中,对JavaScript语言进行了大量的功能扩展和错误修正。本书基于ES6版进行讲解,同时兼顾介绍了ES7、ES8版的新特性,掌握这些内容对Web前端开发人员顺利使用JavaScript编程十分重要。
|
內容簡介: |
本书基于ECMAScript 6脚本语言规范,着重讲解将基本知识点与实际代码应用相结合,用大量易懂的、具有代表性的实例帮助读者快速学习ECMAScript开发。全书共分为16章,内容从ECMAScript的基础知识到技术难点,循序渐进地呈现给读者,让读者有一个学习编程语言从易到难、由简至繁的体验过程。书中包括ECMAScript的发展历史、语法基础、表达式、函数、ECMAScript对象、类、继承、ES7与ES8版本新特性等方面的知识介绍。本书是学习ECMAScript技术非常好的图书,相信丰富的内容和大量的实例代码能够成为读者必要的案头参考工具,成为Web前端开发学习者的*。
|
關於作者: |
王金柱,对JavaScript语言、jQuery框架、Node.js、React等Web前端开发有着独到的经验,并精通HTMLXHTML、CSS与PHP等开发语言的应用。有着10多年丰富的IT从业经历,完成过多家大型央企与上市公司的企业级Web系统平台项目的前端模块开发工作。
|
目錄:
|
目录第1章 ECMAScript基础 11.1 认识ECMAScript 11.1.1 ECMAScript的基本概念 11.1.2 JavaScript与ECMAScript的发展历史 21.1.3 ECMAScript版本更迭 21.1.4 JavaScript与ECMAScript异同 31.1.5 ECMAScript脚本语言的特点 41.1.6 JavaScript代码解释器 41.2 在网页中使用ECMAScript脚本语言 61.2.1 标签 61.2.2 嵌入式ECMAScript脚本 61.2.3 引入外部ECMAScript脚本文件 81.3 ECMAScript脚本运行机制 91.4 ECMAScript脚本代码的开发与调试 141.4.1 第一步:使用WebStorm集成开发平台创建项目、页面文件 141.4.2 第二步:使用WebStorm集成开发平台创建脚本文件 161.4.3 第三步:使用Firefox浏览器运行HTML页面和调试脚本代码 171.5 本章小结 19第2章 ECMAScript语法 202.1 ECMAScript语法规范 202.1.1 ECMAScript语句 202.1.2 ECMAScript大小写字母敏感 212.1.3 ECMAScript代码空格 212.1.4 ECMAScript代码强制换行 212.1.5 ECMAScript代码注释 212.1.6 ECMAScript代码块 222.2 ECMAScript变量 222.2.1 弱类型的ECMAScript变量 222.2.2 声明ECMAScript变量 232.2.3 ECMAScript变量命名习惯 242.2.4 动态改变ECMAScript变量类型 242.2.5 未声明的ECMAScript变量 252.2.6 严格模式 262.3 let关键字 272.3.1 变量作用域 272.3.2 变量提升 282.3.3 全局变量、局部变量和块级作用域 292.3.4 let关键字的简单示例 312.3.5 let关键字使用规则 322.3.6 let关键字应用 332.4 const关键字 352.5 ECMAScript关键字和保留字 382.6 本章小结 39第3章 值与类型 403.1 ECMAScript原始值与引用值 403.1.1 ECMAScript原始值与引用值 403.1.2 ECMAScript原始类型概述 413.2 Undefined原始类型 413.3 Null原始类型 443.4 Boolean原始类型 463.5 Number原始类型 483.5.1 Number原始类型介绍 483.5.2 十进制Number原始类型 483.5.3 二进制Number原始类型 493.5.4 八进制Number原始类型 503.5.5 十六进制Number原始类型 513.5.6 浮点数Number原始类型 533.5.7 Number原始类型科学计数法 543.6 Number特殊值及方法 553.6.1 Number最大值与最小值 553.6.2 Number无穷大 563.6.3 非数值NaN 583.6.4 Number安全整数值 593.6.5 Number.EPSILON 613.7 String原始类型 623.7.1 String原始类型介绍 623.7.2 定义String原始类型 623.7.3 字符串连接 633.7.4 特殊字符串 643.7.5 获取字符串长度 653.7.6 字符的Unicode编码表示 663.8 本章小结 70第4章 类型转换 714.1 转换为字符串 714.1.1 toString函数方法的语法格式 714.1.2 使用默认toString函数方法 714.1.3 Number类型数值转换为字符串 734.1.4 使用带参数的toString函数方法 744.2 转换为数值 754.2.1 parseInt函数方法的语法格式 754.2.2 转换为整数数值 764.2.3 转换指定基数的整数数值 774.2.4 parseFloat函数方法的语法格式 784.2.5 转换为浮点数 794.3 强制类型转换 814.3.1 强制类型转换基础 814.3.2 强制转换为Number类型 814.3.3 强制转换为Boolean类型 834.3.4 强制转换为String类型 844.4 本章小结 86第5章 解构 875.1 ECMAScript变量赋值机制 875.1.1 变量赋值机制介绍 875.1.2 变量赋值机制相关原理 885.1.3 关于变量的解构赋值 885.2 ECMAScript数组解构赋值 895.2.1 数组解构赋值的基本方式 895.2.2 数组解构赋值的嵌套方式 905.2.3 含有空位的数组解构赋值 915.2.4 使用省略号的数组解构赋值 925.2.5 未定义的数组解构赋值 945.2.6 无效的数组解构赋值 955.2.7 使用默认值的数组解构赋值 975.2.8 默认值为变量的数组解构赋值 985.2.9 默认值为表达式的数组解构赋值 1005.3 ECMAScript对象解构赋值 1015.3.1 对象解构赋值的基本方式 1015.3.2 不按次序的对象解构赋值 1025.3.3 对象解构赋值方式的扩展 1035.4 ECMAScript字符串解构赋值 1045.5 ECMAScript数值解构赋值 1055.6 ECMAScript解构赋值的应用 1065.6.1 交换变量的值 1065.6.2 函数返回多个值 1095.6.3 定义函数参数 1105.7 本章小结 112第6章 运算符与表达式 1136.1 ECMAScript加性运算符及表达式 1136.1.1 概述 1136.1.2 加法运算符及表达式 1136.1.3 减法运算符及表达式 1166.2 ECMAScript乘性运算符及表达式 1186.2.1 乘性运算符与表达式概述 1186.2.2 乘法运算符及表达式 1186.2.3 除法运算符及表达式 1206.2.4 取模运算符及表达式 1216.3 ECMAScript一元运算符及表达式 1236.3.1 一元运算符与表达式概述 1236.3.2 new和delete运算符及表达式 1236.3.3 void运算符及表达式 1256.3.4 前增量与前减量运算符及表达式 1276.3.5 后增量与后减量运算符及表达式 1286.3.6 一元加法与一元减法运算符及表达式 1296.4 ECMAScript关系运算符及表达式 1316.4.1 关系运算符与表达式概述 1316.4.2 数值关系运算符表达式 1326.4.3 字符串关系运算符表达式 1326.4.4 数值与字符串关系运算符表达式 1336.5 ECMAScript等性运算符及表达式 1346.5.1 等性运算符与表达式概述 1356.5.2 等号与不等号运算符表达式 1356.5.3 严格相等与非严格相等运算符表达式 1376.6 ECMAScript位运算符及表达式 1386.6.1 位运算符与表达式概述 1396.6.2 整数编码介绍 1396.6.3 NOT位运算符及表达式 1416.6.4 AND位运算符及表达式 1426.6.5 OR位运算符及表达式 1436.6.6 XOR位运算符及表达式 1446.6.7 左移运算符及表达式 1456.6.8 保留符号位的右移运算符及表达式 1466.6.9 无符号位的右移运算符及表达式 1486.7 ECMAScript逻辑运算符及表达式 1496.7.1 逻辑运算符与表达式概述 1496.7.2 ToBoolean逻辑值转换操作 1506.7.3 AND运算符及表达式 1516.7.4 OR运算符及表达式 1526.7.5 NOT运算符及表达式 1546.8 ECMAScript赋值运算符及表达式 1566.9 ECMAScript条件运算符及表达式 1576.10 本章小结 159第7章 流程控制语句 1607.1 if条件语句 1607.1.1 if语句 1607.1.2 ifelse语句 1617.1.3 ifelse ifelse语句 1627.2 switch条件语句 1647.3 循环迭代语句 1667.3.1 for语句 1667.3.2 forin语句 1687.3.3 while语句 1707.3.4 dowhile语句 1707.4 循环中断语句 1717.4.1 break语句 1727.4.2 continue语句 1727.4.3 break语句与标签语句配合使用 1737.4.4 continue语句与标签语句配合使用 1757.5 ECMAScript 6新特新for of迭代循环 1777.5.1 迭代数组 1777.5.2 迭代字符串 1777.5.3 for of 循环迭代原理 1787.6 本章小结 178第8章 函数 1798.1 ECMAScript函数基础 1798.2 ECMAScript函数声明、定义与调用 1808.2.1 传统方式定义ECMAScript函数 1808.2.2 ECMAScript函数表达式方式 1818.2.3 Function构造方式定义ECMAScript函数 1848.3 ECMAScript函数返回值 1858.4 arguments对象 1878.5 Function对象 1908.5.1 Function对象实现函数指针 1908.5.2 Function对象属性 1928.5.3 Function对象方法 1938.6 本章小结 194第9章 系统函数 1959.1 ECMAScript常规函数 1959.1.1 常规函数介绍 1959.1.2 警告对话框和确认对话框 1959.1.3 parseInt函数 1979.1.4 isNaN函数 1989.1.5 eval函数 1999.2 ECMAScript字符串函数 2009.3 ECMAScript数学函数 2039.4 ECMAScript数组函数 2049.4.1 数组函数介绍 2049.4.2 join函数 2059.4.3 reverse函数 2059.4.4 sort函数 2069.4.5 from函数 2079.5 ECMAScript日期函数 2099.6 本章小结 210第10章 函数扩展 21110.1 ECMAScript函数参数扩展 21110.1.1 可变参数 21110.1.2 rest参数 21310.1.3 参数默认值 21410.1.4 省略参数默认值的正确方式 21610.2 length属性扩展 21810.2.1 参数默认值方式下的length属性 21810.2.2 rest参数方式下的length属性 21910.2.3 参数默认值不同位置下的length属性 22010.3 name属性扩展 22010.4 箭头函数 22110.4.1 箭头函数的基本形式 22110.4.2 箭头函数的参数 22210.4.3 箭头函数的函数体 22410.5 箭头函数扩展应用 22410.5.1 箭头函数计算工具 22510.5.2 箭头函数与解构赋值 22610.5.3 箭头函数与回调函数 22710.5.4 箭头函数与链式函数 22810.6 本章小结 229第11章 ECMAScript对象 23011.1 ECMAScript对象 23011.1.1 什么是ECMAScript对象 23011.1.2 ECMAScript对象构成 23011.1.3 ECMAScript对象实例 23111.2 创建ECMAScript对象 23111.3 ECMAScript对象初始化 23111.4 ECMAScript对象销毁 23311.5 ECMAScript对象绑定方式 23511.6 本章小结 235第12章 对象类型 23612.1 ECMAScript对象概述 23612.2 Object对象 23712.3 String对象 23812.4 Array对象 23912.4.1 Array对象初始化 23912.4.2 Array对象连接操作 24112.4.3 Array对象模拟堆栈 24212.5 Number对象 24412.6 Boolean对象 24512.7 Date对象 24612.7.1 Date对象基础 24712.7.2 Date对象应用(一) 24812.7.3 Date对象应用(二) 24912.8 本章小结 251第13章 对象新特性 25213.1 对象属性的简洁表示法 25213.2 Symbol数据类型 25413.2.1 定义Symbol对象 25413.2.2 Symbol对象的唯一性 25413.2.3 Symbol定义属性名 25513.3 Set数据类型 25613.3.1 定义和遍历Set数据类型 25613.3.2 判断Set集合中的值 25713.3.3 删除和清空Set集合 25813.4 Map数据类型 25913.4.1 定义Map数据类型和基本存取操作 25913.4.2 判断Map集合中的值 26013.4.3 删除和清空Map集合 26113.5 本章小结 262第14章 正则表达式 26314.1 正则表达式基础 26314.1.1 什么是正则表达式 26314.1.2 RegExp对象语法 26314.1.3 RegExp对象模式 26414.2 RegExp对象方法 26714.2.1 test方法 26714.2.2 exec方法 26814.2.3 compile方法 26914.3 RegExp对象修饰符标记 27014.3.1 g修饰符标记 27114.3.2 i修饰符标记 27214.3.3 g和i修饰符标记组合 27314.4 本章小结 274第15章 面向对象编程 27515.1 面向对象基础 27515.1.1 什么是面向对象 27515.1.2 面向对象的特点 27615.1.3 面向对象的专业术语 27615.2 ECMAScript对象作用域 27715.2.1 对象作用域 27715.2.2 this关键字 27715.3 创建ECMAScript类与对象 27815.3.1 工厂模式创建类与对象 27815.3.2 封装的工厂模式创建类与对象 27915.3.3 带参数的工厂模式创建类与对象 28115.3.4 工厂模式的最大局限 28215.3.5 构造函数方式创建类与对象 28315.3.6 原型方式创建类与对象 28415.3.7 结合构造函数方式与原型方式创建类和对象 28515.4 原型Prototype应用 28615.4.1 定义新方法 28615.4.2 重定义已有方法 28715.4.3 实现继承机制 28815.5 ECMAScript 6 面向对象新特性 29115.5.1 通过class定义类 29115.5.2 通过extends继承类 29215.5.3 类的setter和getter方法 29315.6 本章小结 294第16章 ECMAScript 7 & 8版本新特性 29516.1 ECMAScript 7 & 8版本的新特性 29516.2 ECMAScript 7(2016)版本的新特性 29516.2.1 Array.prototype.includes方法 29616.2.2 指数操作符 29716.3 ECMAScript 8(2017)版本的新特性 29816.3.1 字符串填充(String Padding) 29816.3.2 对象遍历 30016.3.3 异步函数(Async Function) 30116.4 本章小结 305
|
內容試閱:
|
前 言读懂本书学习编程主要是兴趣学习编程是一件很枯燥的事,相信只有强烈的愿望才有坚持下去的动力。编程语言有非常多的知识点需要掌握,为了帮助读者快速入门加深理解,笔者在书中演示了大量、有趣的代码实例,期望读者能够尽快喜欢上ECMAScript脚本语言。基础知识点与应用趋势本书重点介绍了ECMAScript原生语法基础及其应用,特别增加了ECMAScript 6版本新特性的内容,对于初学者需要注意的方方面面均有特别提示,以期帮助读者尽量少走弯路。本书真的适合你吗本书的基础知识可以帮助读者快速踏入ECMAScript领域之门,可以随心所欲地把这些知识应用于实践开发。ECMAScript 6版本新特性部分可以让读者学习到脚本语言的新技术切入点,为设计人员打开一扇全新的窗户。本书完全是从一个新手的视角出发讲解ECMAScript的技术和应用,涵盖ES6、ES7、ES8版本的不同特性。作者遵循读者的学习心理,循序渐进、由浅入深地介绍各门类、相互关联的知识。这是一本实例书,也是一本入门引导书,是想教会你编写代码,而不是教会你语法。本书涉及的主要软件或工具?Windows?EditPlus?Mozilla Firefox?Sublime Text?Notepad?WebStorm本书涉及的技术或框架?CSS3?MIME?ECMAScript?HTTP?ECMAScript 6?HTML 5?RegExp?DHTML?延迟加载本书特点(1)本书不是强调纯粹的理论知识,也不是高深技术研讨,完全是从基础知识讲解入手,用简单的、典型的示例引申出核心知识,最后指引了通往高精尖进一步深入学习的道路。(2)本书全面介绍ECMAScript脚本语言所涉及的前端领域、后端应用范围,能够综合性地领略到这门语言的全貌,在学习的过程中不会迷失方向。(3)本书注重知识难点探究、技术实践结合应用场景效果,使之能激发读者的阅读兴趣且能够为读者提供编程参考。读者对象?Web前端设计的初学者?从事前端开发的人员?喜欢或从事网页设计对前端感兴趣的人员?想拓展前端知识面的读者?ECMAScript爱好者?JavaScript开发人员本书由王金柱主编,其他参与创作的还有张婷、谢志强、李一鸣、王晓华、杨旺功、陈明红、林龙、王小辉、薛燚、罗从良、陈素清、王启明,在此表示感谢。
编 者2018年8月
|
|