新書推薦:
《
黄金、石油和牛油果:16件商品中的拉丁美洲发展历程
》
售價:NT$
395.0
《
母亲的选择:看不见的移民保姆与女性工作
》
售價:NT$
340.0
《
城邦政治与灵魂政治——柏拉图《理想国》中的政治哲学研究
》
售價:NT$
590.0
《
3分钟漫画墨菲定律:十万个为什么科普百科思维方式心理学 胜天半子人定胜天做事与成事的权衡博弈之道
》
售價:NT$
249.0
《
1911:危亡警告与救亡呼吁
》
售價:NT$
349.0
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:NT$
345.0
《
笼中王国 : 18世纪法国的珍禽异兽与社会文化
》
售價:NT$
340.0
《
思考的框架3 巴菲特芒格马斯克推崇的思维方式 风靡华尔街的思维训练法 沙恩·帕里什 著
》
售價:NT$
295.0
|
編輯推薦: |
JavaScript是目前市场上热门的编程语言,是Web前端开发的一款利器。随着大前端技术成为热点,各种JavaScript框架更是如雨后春笋般出现,激发了新手学习JavaScript的热情。推出本书的目的是看到JavaScript在Web前端开发和移动应用开发领域的重要性,满足广大编程爱好者的需求。本书适合JavaScript初学者学习,也对具有一定JavaScript基础的开发人员有所帮助,是一本由浅入深的JavaScript完全教程。
|
內容簡介: |
本书从技术和实际应用场景相结合的角度出发,结合当下热门技术(JavaScript、ECMAScript 6、Ajax、Prototype.js、HTML 5、CSS 3等),用大量的、易懂的、*代表性的代码实例帮助读者学习JavaScript技术开发。本书共分为15章,从JavaScript的基础知识到技术难点循序渐进地呈现给读者,让读者有一个学习编程语言从易到难、由简至繁的体验过程。基础部分包括JavaScript的发展历史、语法基础、表达式、函数等内容;提高部分主要介绍JavaScript对象、类、继承等方面的知识难点;应用部分侧重Web开发方向,包括DOM操作、事件处理、正则表达式、Ajax技术和JavaScript框架等主流技术。本书是读者学习掌握JavaScript技术非常好的工具,相信丰富的内容和大量的实例能够为读者学习和工作带来启发,是前端开发初学者不错的选择。
|
關於作者: |
王金柱,对JavaScript语言、jQuery框架、Node.js、React等Web前端开发有着独到的经验,并精通HTMLXHTML、CSS与PHP等开发语言的应用。有着10多年丰富的IT从业经历,完成过多家大型央企与上市公司的企业级Web系统平台项目的前端模块开发工作。
|
目錄:
|
目 录
第1章 JavaScript基础 11.1 JavaScript概述 11.1.1 JavaScript脚本语言的概念 11.1.2 JavaScript发展历史 21.1.3 JavaScript的组成 21.1.4 ECMAScript概述 31.1.5 JavaScript的特点 31.2 网页中的JavaScript脚本语言 41.2.1 标签 41.2.2 嵌入式JavaScript脚本 41.2.3 引入外部JavaScript脚本文件 51.3 JavaScript脚本运行机制 71.4 JavaScript脚本语言开发与调试 131.4.1 使用WebStrom集成开发平台创建项目、页面文件 141.4.2 使用WebStrom集成开发平台创建脚本文件 151.4.3 使用FireFox浏览器运行HTML页面和调试JS脚本 161.5 JavaScript脚本语言功能 181.5.1 在HTML网页中输出内容 181.5.2 改变HTML网页中节点内容 181.5.3 改变HTML网页中节点样式 191.5.4 HTML网页事件处理 191.5.5 HTML网页表单验证 191.6 本章小结 19第2章 ECMAScript语法基础 202.1 ECMAScript基础 202.1.1 ECMAScript语句 202.1.2 区分大小写 212.1.3 代码换行 212.1.4 代码中的空格 212.1.5 代码注释 212.2 ECMAScript变量 222.2.1 ECMAScript变量是弱类型的 222.2.2 变量的声明 222.2.3 改变变量数据类型 232.2.4 变量命名习惯 252.2.5 未声明的变量 252.2.6 严格模式(use strict) 262.3 ECMAScript类型 282.3.1 原始值与引用值 282.3.2 变量赋值机制 282.3.3 原始类型 292.3.4 Undefined原始类型 292.3.5 Null原始类型 322.3.6 Boolean原始类型 342.3.7 Number原始类型 362.3.8 特殊的Number类型值 402.3.9 String原始类型 452.3.10 获取字符串长度 472.4 ECMAScript类型转换 482.4.1 转换成字符串 482.4.2 转换成数字 512.4.3 强制类型转换 542.5 ECMAScript 6新特新let、const关键字 572.5.1 变量作用域 572.5.2 变量提升 592.5.3 块级作用域 602.5.4 通过let关键字实现块级作用域 612.5.5 let关键字使用规则 622.5.6 let关键字应用 632.5.7 通过const关键字定义常量 662.6 关键字和保留字 682.7 开发实战:ECMAScript类型工具 692.8 本章小结 71第3章 ECMAScript运算符与表达式 723.1 ECMAScript加性运算符及表达式 723.1.1 加性运算符与表达式概述 723.1.2 加法运算符及表达式 723.1.3 减法运算符及表达式 753.2 ECMAScript乘性运算符及表达式 773.2.1 乘性运算符与表达式概述 773.2.2 乘法运算符及表达式 773.2.3 除法运算符及表达式 793.2.4 取模运算符及表达式 803.3 ECMAScript一元运算符及表达式 823.3.1 一元运算符与表达式概述 823.3.2 new和delete运算符及表达式 823.3.3 void运算符及表达式 843.3.4 前增量与前减量运算符及表达式 853.3.5 后增量与后减量运算符及表达式 873.3.6 一元加法与一元减法运算符及表达式 883.4 ECMAScript关系运算符及表达式 903.4.1 关系运算符与表达式概述 913.4.2 数值关系运算符表达式 913.4.3 字符串关系运算符表达式 923.4.4 数字与字符串关系运算符表达式 933.5 ECMAScript等性运算符及表达式 953.5.1 等性运算符与表达式概述 953.5.2 等号与非等号运算符表达式 953.5.3 全等号与非全等号运算符表达式 973.6 ECMAScript位运算符及表达式 993.6.1 位运算符与表达式概述 1003.6.2 整数编码介绍 1003.6.3 NOT运算符及表达式 1023.6.4 AND运算符及表达式 1033.6.5 OR运算符及表达式 1043.6.6 XOR运算符及表达式 1053.6.7 左移运算符及表达式 1063.6.8 保留符号位的右移运算符及表达式 1083.6.9 无符号位的右移运算符及表达式 1093.7 ECMAScript逻辑运算符及表达式 1113.7.1 逻辑运算符与表达式概述 1113.7.2 ToBoolean逻辑值转换操作 1113.7.3 AND运算符及表达式 1133.7.4 OR运算符及表达式 1143.7.5 NOT运算符及表达式 1163.8 ECMAScript赋值运算符及表达式 1183.9 ECMAScript条件运算符及表达式 1203.10 开发实战:ECMAScript运算符工具 1223.11 本章小结 124第4章 ECMAScript流程控制语句 1254.1 if条件语句 1254.1.1 if语句 1254.1.2 ifelse语句 1264.1.3 ifelse ifelse语句 1284.2 switch条件语句 1304.3 循环迭代语句 1324.3.1 for语句 1324.3.2 forin语句 1344.3.3 while语句 1364.3.4 dowhile语句 1374.4 循环中断语句 1384.4.1 break语句 1384.4.2 continue语句 1394.4.3 break语句与标签语句配合使用 1414.4.4 continue语句与标签语句配合使用 1424.5 ECMAScript 6新特新for of迭代循环 1444.5.1 迭代数组 1444.5.2 迭代字符串 1454.5.3 for of 循环迭代原理 1464.6 开发实战:ECMAScript运算符工具增强一 1464.7 本章小结 152第5章 ECMAScript函数 1535.1 ECMAScript函数基础 1535.2 ECMAScript函数声明、定义与调用 1545.2.1 传统方式声明ECMAScript函数 1545.2.2 使用函数表达式方式声明定义ECMAScript函数 1565.2.3 Function构造方式的ECMAScript函数 1585.3 ECMAScript函数返回值 1595.4 arguments对象 1625.5 Function对象 1655.5.1 Function对象实现函数指针 1655.5.2 Function对象属性 1675.5.3 Function对象方法 1685.6 JavaScript系统函数 1695.6.1 常规函数 1695.6.2 字符串函数 1735.6.3 数学函数 1755.6.4 数组函数 1775.6.5 日期函数 1805.7 ECMAScript 6新特新不定参数和默认参数 1815.7.1 可变参数的优缺点 1815.7.2 不定参数的应用 1835.7.3 默认参数的应用 1845.8 开发实战:ECMAScript运算符工具增强二 1865.9 本章小结 190第6章 ECMAScript对象 1916.1 对象基础 1916.1.1 什么是ECMAScript对象 1916.1.2 ECMAScript对象构成 1916.1.3 ECMAScript对象实例 1916.2 对象应用 1926.2.1 对象声明与实例化 1926.2.2 对象销毁 1946.2.3 对象绑定方式 1976.3 ECMAScript对象类型 1976.3.1 ECMAScript对象概述 1976.3.2 Object对象 1986.3.3 String对象 1996.3.4 Array对象 2006.3.5 Number对象 2046.3.6 Boolean对象 2056.3.7 Date对象 2076.4 ECMAScript 6新特新Symbol数据类型 2116.4.1 定义Symbol对象 2116.4.2 Symbol对象的唯一性 2126.4.3 Symbol定义属性名 2136.5 ECMAScript 6新特新 Set数据类型 2146.5.1 定义和遍历Set数据类型 2146.5.2 判断Set集合中的值 2156.5.3 删除和清空Set集合 2166.6 ECMAScript 6新特新 Map数据类型 2186.6.1 定义Map数据类型和基本存取操作 2186.6.2 判断Map集合中的值 2196.6.3 删除和清空Map集合 2206.7 开发实战:在线JavaScript时钟 2216.8 本章小结 230第7章 ECMAScript 正则表达式 2317.1 正则表达式基础 2317.1.1 什么是正则表达式 2317.1.2 RegExp对象语法 2317.1.3 RegExp对象模式 2327.2 RegExp对象方法 2357.2.1 test方法 2357.2.2 exec方法 2367.2.3 compile方法 2387.3 RegExp对象修饰符标记 2397.3.1 g修饰符标记 2397.3.2 i修饰符标记 2407.3.3 g和i修饰符标记组合 2417.4 RegExp对象属性 2427.4.1 global属性 2427.4.2 ignoreCase属性 2437.4.3 lastIndex属性 2447.4.4 source属性 2477.5 RegExp对象模式 2487.5.1 方括号 2497.5.2 元字符 2507.5.3 量词 2567.5.4 分组 2617.5.5 分枝 2647.6 开发实战:文本域验证页面 2667.7 本章小结 272第8章 ECMAScript面向对象编程 2738.1 面向对象基础 2738.1.1 什么是面向对象 2738.1.2 面向对象的特点 2748.1.3 面向对象的专业术语 2748.2 ECMAScript对象作用域 2748.2.1 对象作用域 2758.2.2 this关键字 2758.3 创建ECMAScript类与对象 2768.3.1 工厂方式(Factory)创建类与对象 2778.3.2 封装的工厂方式(Factory)创建类与对象 2788.3.3 带参数的工厂方式(Factory)创建类与对象 2798.3.4 工厂方式(Factory)的最大局限 2808.3.5 构造函数方式创建类与对象 2828.3.6 原型方式创建类与对象 2838.3.7 结合构造函数方式与原型方式创建类与对象 2858.4 原型Prototype应用 2868.4.1 定义新方法 2868.4.2 重定义已有方法 2878.4.3 实现继承机制 2888.5 ECMAScript 6 面向对象新特性 2918.5.1 通过class定义类 2918.5.2 通过extends继承类 2938.5.3 类的setter和getter方法 2958.6 本章小结 296第9章 JavaScript与浏览器对象模型(BOM) 2979.1 浏览器对象模型(BOM)编程基础 2979.2 Window对象 2989.2.1 Window对象基础 2989.2.2 浏览器窗口尺寸属性 2999.2.3 浏览器窗口坐标 3019.2.4 self与top属性 3029.2.5 open与close方法 3039.2.6 同时打开和关闭多个窗口 3069.2.7 移动浏览器窗口 3089.2.8 调整浏览器窗口尺寸大小 3129.3 Window消息框 3159.3.1 警告框(alert) 3159.3.2 确认框(confirm) 3179.3.3 提示框(prompt) 3199.4 Screen对象 3219.5 Location对象 3229.5.1 Location对象基础 3229.5.2 Location对象属性 3239.5.3 assign方法 3249.5.4 reload方法 3269.5.5 replace方法 3289.6 History对象 3309.7 Navigator对象 3359.8 JavaScript计时器 3369.8.1 计时器基础 3369.8.2 setTimeout计时器 3379.8.3 setInterval计时器 3419.9 开发实战:摇号抽奖Web应用 3439.10 本章小结 351第10章 JavaScript与文档对象模型(DOM) 35210.1 文档对象模型(DOM)编程基础 35210.1.1 文档对象模型(DOM)介绍 35210.1.2 DOM模型中获得对象的方法 35310.1.3 HTML DOM编程基础 35510.2 JavaScript获取DOM对象 35710.2.1 通过id获取DOM元素对象 35710.2.2 通过name获取DOM元素对象 35910.2.3 通过tag标签获取DOM元素对象 36110.2.4 通过class获取DOM元素对象 36410.2.5 通过父节点、子节点获取DOM元素对象 36610.3 JavaScript动态操作DOM对象 36810.3.1 动态操作DOM元素对象 36810.3.2 动态操作DOM元素属性 37210.3.3 动态操作DOM元素样式 37610.4 开发实战:风格页面切换 38010.5 本章小结 385第11章 JavaScript与表单对象 38611.1 表单(Form)对象模型基础 38611.2 操作表单(Form)对象属性 38711.3 获取表单(Form)元素内容 38811.4 使用表单(Form)对象方法 39011.5 开发实战:用户信息表单 39311.6 本章小结 399第12章 JavaScript事件编程 40012.1 HTML事件基础 40012.1.1 HTML事件 40012.1.2 HTML事件类型 40112.1.3 HTML DOM事件流 40212.2 JavaScript与窗口事件 40312.2.1 窗口(Window)加载事件 40312.2.2 窗口(Window)加载多个事件 40412.2.3 窗口(Window)加载事件(JS方式) 40412.3 JavaScript与表单事件 40512.3.1 表单(Form)元素变化事件 40512.3.2 表单(Form)元素被选中事件 40812.3.3 表单(Form)元素焦点事件 41012.3.4 表单(Form)重置与提交事件 41212.4 JavaScript与键盘事件 41512.4.1 键盘按键按下事件 41512.4.2 键盘按键释放事件 41712.4.3 键盘按键按下并释放事件 41912.5 JavaScript与鼠标事件 42112.5.1 鼠标单击事件 42112.5.2 鼠标双击事件 42212.5.3 鼠标悬停与移出事件 42512.5.4 获取鼠标坐标位置 42712.6 开发实战:鼠标点击获取标签 42912.7 本章小结 433第13章 Ajax技术 43413.1 Ajax基础 43413.1.1 Ajax是什么 43413.1.2 Ajax工作原理 43513.1.3 Ajax工作方式 43513.2 XMLHttpRequest对象 43913.2.1 创建XMLHttpRequest对象 43913.2.2 发送XMLHttpRequest请求 44013.2.3 完成XMLHttpRequest响应 44113.2.4 Ajax事件处理 44113.3 Ajax应用实例 44213.3.1 Ajax方式读取XML文件 44213.3.2 Ajax方式解析XML文件 44513.3.3 GET请求方式 44913.3.4 POST请求方式 45313.4 本章小结 457第14章 JavaScript框架介绍 45814.1 Prototype.js框架 45814.1.1 Prototype.js框架基础 45814.1.2 通过$方法操作DOM 45914.1.3 通过$F方法操作表单 46214.1.4 String对象扩展方法 46514.1.5 Event事件扩展 46714.2 jQuery框架 46914.2.1 jQuery框架基础 46914.2.2 选择器$应用一 47014.2.3 选择器$应用二 47514.2.4 选择器$应用三 47914.2.5 jQuery事件处理 48314.3 本章小结 485第15章 实战开发:Ajax异步登录 48615.1 项目架构 48615.2 HTML前端代码 48615.3 异步登录的JavaScript脚本代码 48815.4 服务器端代码 491
|
內容試閱:
|
前 言学习编程关键是兴趣学习编程的过程比较枯燥,相信只有强烈的兴趣才是程序员坚持下去的动力。编程语言都会有非常多的知识点需要掌握,为了帮助读者加深理解,笔者在本书中演示大量的、有趣的代码实例,期望读者都能够尽快地喜欢上JavaScript技术,它确实太棒了!基础知识点与发展大趋势本书不仅包括JavaScript技术在当下主流和热门领域的发展应用,而且还着重介绍了JavaScript原生语法的基础及其应用。对于初学者需要注意的方方面面本书还有特别提示,以期帮助读者尽量少走弯路。本书不仅介绍技术而且还介绍相关技术的来龙去脉,让读者可以做一个有方向感的技术开发者!本书适合你吗?本书的基础知识可以帮助读者快速踏入JavaScript领域之门,让读者随心所欲地去付诸实践开发。Ajax部分可以帮助读者掌握Web 2.0技术的精髓。JavaScript框架部分则可以让读者了解前端技术的前沿方向。本书完全是从一个新手的视角出发去讲解JavaScript技术、ECMAScript 6新特性、JS框架应用。作者按照初学习的规律,循序渐进、由浅入深地介绍各门各类、相互关联的知识点。本书是一本实例书,也是一本引导书,首先教会读者写代码,而不是教会读者看语法。本书涉及的工具和技术在这里给读者做一个简介。本书涉及的主要软件工具、技术与框架Apache HTTPCSS 3Prototype.jsEditPlusCSS SpritesHTTPVisioCSS HackECMAScript 6Mozilla FirefoxJSONHTML5Sublime TextMIMERegexpSmartDrawJavaScriptDHTMLWebStormjQueryPHPNotepadAJAX延迟加载本书特点(1)本书不是纯粹的理论知识介绍,也不是高深技术研讨,而是从基础出发,用简单的、典型的示例引申出核心知识,最后还指出通往高精尖进一步深入学习的道路。(2)本书全面介绍了JavaScript涉及的前端领域、后端应用范围,让读者能够系统综合性地观看到这门语言的全貌,在学习的过程中不至于迷失方向。(3)本书注重知识难点探究,着力于技术实践结合,应用场景效果,能大大激活读者的阅读兴趣且能够时时为读者提供参考。(4)本书旨在引导读者进行更多技术上的创新,每章最后都会用技术点参考的方式扩大读者的阅读范围。(5)本书代码遵循重构原理,避免代码污染,真心希望读者能写出优秀的、简洁的、可维护的代码。
本书读者与作者?爱好网页设计的大中专院校的学生?准备从事前端开发的人员?喜欢或从事网页设计且对前端感兴趣的人员?想拓展前端知识面的读者?JavaScript、ECMAScript 6的爱好者?Web技术从业人员?可作为各种培训学校的入门实践教材
本书由王金柱主笔,其他参与创作的还有张婷、谢志强、李一鸣、胡松涛、王晓华、杨旺功、陈明红、林龙、王小辉、张光泽、刘鑫。
编 者2018年8月
|
|