• JavaScript 基础语法详解
  • JavaScript 基础语法详解
21年品牌 40万+商家 超1.5亿件商品

JavaScript 基础语法详解

批量上传,套装书可能不全,下单前咨询在线客服! 正版书 !!!

42.38 4.8折 89 全新

库存4件

四川成都
认证卖家担保交易快速发货售后保障

作者张旭乾

出版社清华大学出版社

ISBN9787302589860

出版时间2022-03

装帧平装

开本16开

定价89元

货号29397544

上书时间2024-10-20

百叶图书

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

感谢你从众多有关JavaScript的书中选择本书。自从分享前端教学视频之后,笔者发现JavaScript基础是阻碍开发者编写前端、后端应用的绊脚石,所以想通过一种比较系统的、全面的途径整合JavaScript基础知识和特性。后来机缘巧合,收到清华大学出版社编辑的邀请编写一本关于JavaScript的书,此前也曾想过出一本书,但是由于工作和时间的缘故都放弃了,而现在正好有空闲的时间,所以就想利用这次机会把笔者对JavaScript的理解和经验编纂整理成书,帮助读者学习JavaScript。如果你有其他语言编程经验或有过JavaScript的开发经验,则会对理解本书的内容更加有帮助,但是如果你是编程初学者,则可以把本书作为长期学习目标,边实践边总结同样可以完全掌握。
本书主要讲解JavaScript基础语法,并涵盖了从ES6到ES2020的新特性,也包括一些即将在ES2021发布的新特性,以较为全面和深入的方式介绍这些语法和新特性的概念、使用方法和注意事项。由于JavaScript发展到今天已经成为通用的编程语言,可以开发前端、后端、移动端、机器学习、数据可视化等行业的应用,而且每种开发环境下所提供的JavaScript功能和特性均不相同,所以本书有意去掉了HTML、CSS、DOM操作及Node.js API的介绍,目的就是让全职业的JavaScript工程师都可以阅读,无论你是前端工程师、Node.js工程师、用户体验设计师、算法工程师还是数据工程师,在无须关注特定领域API的基础上,能够尽可能全、尽可能快地掌握JavaScript语法本身,以便于在后期开发的过程中不再遇到语言、语法上的问题。至于特定领域的内容,每个领域都可以单独成书,而编写本书的初衷并不是大而全,不过本书的后一章会根据各个职业的特点给出一个大体的学习方向,可以让读者参考它们并继续深入。
在内容编排上,本书基本按照由易到难的顺序对知识点进行排列,不过即便如此,不同章节之间仍有很多交叉引用,因为学习编程并不是线性的,经常需要用到其他章节的知识点介绍某章的某个概念,如果有不理解的地方,则可以先暂时跳过,待看完一遍本书后再回过头来研究之前跳过的部分。本书共14章,内容如下:
第1章主要介绍为什么学习JavaScript、JavaScript的发展历史,以及如何编写并运行JavaScript代码和语法概览。
第2章介绍JavaScript程序的基础结构、如何定义变量并保存不同数据类型的数据、每种数据类型的特点和取值范围,包括ES6新定义的Symbol和ES2020新定义的BigInt类型,以及不同数据类型之间的相互转换。
第3章介绍运算符的概念及分类、如何使用JavaScript进行数学运算、逻辑比较、逻辑运算、位运算,以及不同运算符之间的优先级,还介绍ES2020中定义的Nullish Coalescing(空值合并)运算符。
第4章介绍语句和语句块的概念,以及在JavaScript中如何定义分支语句、循环语句和中断语句。
第5章介绍JavaScript的语法核心——函数的概念、定义和使用方法,函数参数,箭头函数,闭包及函数式编程中的一些基本概念,如递归、高阶函数、柯里化、Memoization等。
第6章介绍数组的概念和用法、队列和栈模式、数组中常用的API,如遍历、过滤、排序、裁切、搜索、reduce、扁平化等操作,以及针对数组的解构赋值和扩展运算符。
第7章介绍JavaScript常用的数据类型——对象的定义方法、访问和修改对象的属性,属性描述符,getters和setters,原型及原型链的概念,构造函数及针对对象的解构赋值和扩展运算符的用法。
第8章在对象的基础上介绍ES6新出的class关键字的用法,并借此介绍面向对象的基本概念、如何实现继承和抽象类、成员和静态成员的区别,以及使用私有成员保护类的数据。
第9章介绍字符串和正则表达式的概念,因为字符串在编程中的用途为广泛,所以在单独的章节介绍它提供的API,以及如何使用正则表达式对字符串进行匹配。
第10章介绍JavaScript的内置对象,如与数学相关的Math、与日期相关的Date、与对象表示相关的JSON、Set和Map数据结构,以及迭代器和生成器、TypedArray、Symbol类型的高级用法、Reflect和Proxy的概念和用法等。
第11章介绍异常处理方式和Error对象的扩展方法,以及try...catch...finally语句的用法。
第12章介绍JavaScript异步编程的概念、setTimeout()和setInterval()的用法和区别、Promise的使用方法及与传统回调函数的区别、async/await关键字的使用方法、异步迭代器和生成器,以及Event Loop的原理。
第13章介绍模块化实现的方式,本章把语法分为ES6和Node.js两种,因为它们的语法规范并不相同且都十分常用,所以分别介绍如何使用ES6语法和Node.js的CommonJS方式导出、导入模块。
第14章给出两个JavaScript编程综合案例,展示面向对象编程和函数式编程的两种风格,同时给出了学完本书后的一些发展方向,并针对前端、后端、机器学习和数据工程师分别总结了比较重要的概念和JavaScript库,以便于了解下一步该如何进行。
本书中对于较复杂的示例会提供源代码,命名遵循章节/概念 编号.js的规则。例如chapter2/string1.js,同一概念的示例后边按顺序对编号进行加1,源代码目录会使用注释的方式标注在示例代码的第1行。
在本书的编写过程中,感谢赵佳霓编辑对内容和结构上的指导,以及细心的审阅,让本书更加完善和严谨,也感谢出版社的排版、设计、审校等所有参与本书修订过程的工作人员,有了你们的支持才会有本书的出版。另外感谢笔者的家人,在笔者专心写作的时候给了笔者无尽的关怀和耐心的陪伴,还感谢笔者的朋友、同学和同事,在笔者有问题和困难时及时地提供了帮助。
尽管本书经过多次检查,但难免会有疏漏和解释不到位的情况,敬请读者批评指正。 
扫描下方二维码可获取本书源代码。


本书源代码

再次感谢选择本书!
张旭乾2022年1月 

 

 

 

 



导语摘要

随着 JavaScript 逐渐成为通用的编程语言,它在软件开发中的地位越来越高,已经不再只是给 HTML 编写交互的客户端脚本语言了,而是可以胜任前端、后端、大数据和机器学习等应用的全面语言。 JavaScript 从 2015 年以来走向规范化后,新出了很多新特性,而市面上少有书籍介绍它们,所以本书对ES6 到 ES2021 的新特性作了较为详尽和深入的介绍,并且全书的语法可以适应各端开发人员所需。 本书共 14 章,涵盖了 JavaScript 的发展历史、运行环境、基础语法、运算符、数组、函数式编程、面向对象基础、原型链、异步编程、Event Loop、模块化、迭代器和生成器、Symbol、Reflect 和 Proxy 的概念和使用方法,每个章节都有配套的示例,对于较难理解的部分还会提供视频讲解,旨在让读者真正掌握这些语法和新特性,在以后的开发过程中不再有基础语法上的疑问。后给出了两个 JavaScript 综合案例,分别使用面向对象编程风格和函数式编程风格,以掌握 JavaScript 的不同开发范式。 本书非常适合有其他编程语言基础或对 JavaScript 语言有初步了解的工程师阅读,如果是初学者,也可以通过仔细阅读加练习达到完全掌握的目的。



商品简介

随着 JavaScript 逐渐成为通用的编程语言,它在软件开发中的地位越来越高,已经不再只是给 HTML 编写交互的客户端脚本语言了,而是可以胜任前端、后端、大数据和机器学习等应用的全面语言。 JavaScript 从 2015 年以来走向规范化后,新出了很多新特性,而市面上少有书籍介绍它们,所以本书对ES6 到 ES2021 的新特性作了较为详尽和深入的介绍,并且全书的语法可以适应各端开发人员所需。 本书共 14 章,涵盖了 JavaScript 的发展历史、运行环境、基础语法、运算符、数组、函数式编程、面向对象基础、原型链、异步编程、Event Loop、模块化、迭代器和生成器、Symbol、Reflect 和 Proxy 的概念和使用方法,每个章节都有配套的示例,对于较难理解的部分还会提供视频讲解,旨在让读者真正掌握这些语法和新特性,在以后的开发过程中不再有基础语法上的疑问。后给出了两个 JavaScript 综合案例,分别使用面向对象编程风格和函数式编程风格,以掌握 JavaScript 的不同开发范式。 本书非常适合有其他编程语言基础或对 JavaScript 语言有初步了解的工程师阅读,如果是初学者,也可以通过仔细阅读加练习达到完全掌握的目的。



作者简介

张旭乾,毕业于美国史蒂文斯理工学院,硕士学位,主攻云计算和分布式系统方向,并获得专业认证。拥有13年编程经验,从事过全栈、后端、前端和移动端的开发,对软件的整体设计和开发有着丰富的经验,并对软件工程化的管理有所研究。因此决定通过内容创作,让开发者能从技能到思想有全面的提升,包括动画形式的视频、成体系的前端开发课程和通俗易懂的技术文章等,坚信前端与设计不分家。



目录

第1章简介


1.1发展历史


1.2ECMAScript提案流程


1.3运行JavaScript


1.4浏览器环境


1.5Node.js环境


1.6开发工具


1.7基础语法概览


1.7.1变量与数据类型


1.7.2运算符


1.7.3流程控制


1.7.4函数


1.8严格模式


1.9小结


第2章基础知识


2.1程序结构


2.2变量


2.2.1定义变量


2.2.2变量的命名规范


2.3常量


2.3.1定义常量


2.3.2常量的命名规范


2.4数据类型


2.4.1typeof


2.4.2Number类型


2.4.3Boolean类型


2.4.4String类型


2.4.5Null与Undefined类型


2.4.6Object类型


2.4.7Symbol类型


2.4.8BigInt类型


2.4.9Array类型


2.4.10基本类型的特点


2.5数据类型转换


2.5.1隐式类型转换


2.5.2显式类型转换


2.6小结


第3章运算符


3.1赋值运算符


3.2数学运算符


3.2.1一元数学运算符


3.2.2二元数学运算符


3.2.3计算顺序与优先级


3.3比较运算符


3.4逻辑运算符


3.5Nullish Coalescing运算符


3.6三目运算符


3.7位运算符


3.7.1与运算


3.7.2或运算


3.7.3异或运算


3.7.4取反运算


3.7.5左移运算


3.7.6右移运算


3.7.7补零右移运算


3.8组合运算符


3.9其他运算符


3.10优先级表


3.11小结


第4章流程控制


4.1语句


4.2if...else语句


4.3if...else if...else语句


4.4switch...case语句


4.5while语句


4.6do...while语句


4.7for语句


4.8break和continue语句


4.9label语句


4.10小结


第5章函数


5.1声明函数


5.2调用函数


5.3函数表达式


5.4箭头函数


5.5可选与默认参数


5.6可变长度参数


5.6.1arguments


5.6.2rest运算符


5.7回调函数


5.8作用域


5.8.1全局作用域


5.8.2局部作用域


5.8.3提升机制


5.8.4临时隔离区


5.9闭包


5.10递归


5.11高阶函数


5.12柯里化


5.13Memoization


5.14纯函数


5.15小结


第6章数组


6.1创建数组


6.2访问数组


6.3修改元素


6.4删除元素


6.5栈和队列模式


6.6数组遍历


6.7数组过滤和测试


6.8数组排序


6.9数组连接


6.10数组裁切


6.11搜索元素


6.12数组与字符串


6.13数组填充


6.14数组复制


6.15扁平化


6.16解构赋值


6.17扩展语法


6.18多维数组


6.19小结


第7章对象


7.1创建对象


7.1.1简化属性


7.1.2计算属性名


7.2访问与添加对象属性


7.3遍历对象属性


7.4删除对象属性


7.5getters和setters


7.6属性描述符


7.6.1配置属性描述符


7.6.2配置多个属性描述符


7.6.3获取属性描述符


7.6.4不可扩展对象


7.7原型


7.7.1获取原型对象


7.7.2原型链


7.7.3Object.create()


7.8构造函数


7.8.1定义


7.8.2this


7.9toString()和valueOf()


7.10call()、apply()与 bind()


7.10.1call()


7.10.2apply()


7.10.3bind()


7.11对象复制


7.12解构赋值与rest运算符(对象)


7.13with语句


7.14值传递与引用传递


7.15小结


第8章面向对象基础


8.1简介


8.2创建类


8.2.1定义构造函数


8.2.2实例化对象


8.2.3添加行为


8.2.4注意事项


8.3实现继承


8.4抽象类


8.5成员变量


8.6静态成员


8.7小结


第9章字符串与正则表达式


9.1字符串介绍


9.2字符串遍历


9.3字符串操作


9.3.1拼接


9.3.2裁切


9.3.3搜索


9.3.4分割


9.3.5其他操作


9.4模板字符串


9.5正则表达式介绍


9.6正则表达式语法


9.6.1特殊字符匹配


9.6.2匹配次数


9.6.3区间、逻辑和界定符


9.6.4分组


9.7字符串中的正则


9.8RegExp对象


9.9常见的正则表达式


9.10小结


第10章内置对象


10.1基本类型包装对象


10.2Math


10.3Date


10.3.1获取日期


10.3.2修改日期


10.3.3解析日期


10.3.4日期比较


10.4JSON


10.4.1序列化


10.4.2反序列化


10.5Set


10.6Map


10.7迭代器、可迭代对象和生成器


10.7.1迭代器


10.7.2可迭代对象


10.7.3生成器与生成器函数


10.8TypedArray


10.8.1创建类型数组


10.8.2属性和方法


10.9Symbol


10.9.1Symbol.match


10.9.2Symbol.toStringTag


10.9.3Symbol.isConcatSpreadable


10.9.4Symbol.toPrimitive


10.9.5Symbol.hasInstance


10.9.6Symbol.species


10.10Console


10.10.1调试


10.10.2显示


10.10.3记录


10.11Reflect


10.12Proxy


10.12.1处理对象


10.12.2不变性


10.12.3可回收代理


10.13小结


第11章异常处理


11.1捕获异常


11.2throw抛出异常


11.3Error对象


11.4自定义异常


11.5finally


11.6捕获多个异常


11.7小结


第12章异步编程


12.1setTimeout()


12.2setInterval()


12.3Promise


12.3.1创建Promise


12.3.2链式调用


12.3.3处理异常


12.3.4执行多个Promise


12.4async/await


12.4.1定义异步函数


12.4.2使用await


12.4.3处理异常


12.5异步迭代


12.6Event Loop


12.6.1调用栈


12.6.2Event Loop


12.7小结


第13章模块化


13.1实现模块化的方式


13.2模块化配置


13.2.1导出模块


13.2.2导入模块


13.2.3默认导出


13.2.4别名导入


13.2.5再导出


13.2.6动态导入


13.3Node.js原生模块管理


13.4小结


第14章案例与总结


14.1面向对象设计示例: 线上服装商城


14.1.1需求


14.1.2Clothing衣服类


14.1.3Store商城类


14.1.4User用户类


14.1.5Address地址类


14.1.6Cart购物车类


14.1.7Order订单类


14.1.8示例


14.2函数式编程示例: 扩展数组API


14.2.1元素


14.2.2交集


14.2.3并集


14.2.4差集

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP