这是一本讲解JavaScript编程语言的技术书籍,只不过,本书采用了一种全新的写作手法。
如果你厌倦了厚厚的、如同字典般的编程书籍,不妨尝试一下新的口味!
通过本书,你可以领悟到JavaScript的函数七重关秘籍;通过本书,你可以轻松学会使用jQuery作DOM对象;通过本书,你可以学会目前流行的Vue基础语法;通过本书,你还可以学会新的ES6常用语法。
本书可作为JavaScript初学者入门的趣味读物。
目录
第1章 . 掌握JavaScript基础1
1.1初入宗门1
1.2直接量2
1.3变量的声明3
1.4数据类型4
1.5基础考核5
1.6叶老6
1.7对象数据类型8
1.8对象的取值11
1.9循环遍历的奥妙13
1.10对象内容的遍历17
1.11外门小比20
1.12JavaScript运算符21
1.13语惊座26
1.14秀27
1.15天秀29
1.16数组方法32
1.17蒂花之秀37
1.18函数七重关之一(函数定义)38
1.19JavaScript编译原理42
1.20函数七重关之二(作用域)46
1.21函数七重关之三(参数传递)51
1.22函数七重关之(闭包)58
1.23函数七重关之五(自执行函数)62
1.24函数七重关之六(“new”一个函数)64
1.25函数七重关之七(回调函数)70
第2章 . 基础考核73
2.1赵牛73
2.2林涛74
2.3变量和简单数据类型76
2.4精度问题80
2.5化浮为整83
2.6函数的三大要义85
2.7add函数完成87
2.8函数调试90
2.9indeOf方法93
2.10replace方法97
2.11重新开始99
第3章 . jQuery和DOM105
3.1预备知识105
3.1.1HTML基本结构105
3.1.2创建一个HTML文件108
3.1.3HTML排版标签109
3.1.4图片标签113
3.1.5链接标签114
3.1.6table标签115
3.1.7表单元素121
3.1.8CSS基础127
3.1.9jQuery简介133
3.2简南136
3.3jQuery选择器137
3.4使用jQuery作DOM146
3.4.1查找元素146
3.4.2查找属性148
3.4.3链式调用150
3.4.4创造新的元素153
3.4.5删除和隐藏节点159
3.4.6jQuery作属性161
3.4.7内容作163
3.4.8遍历和寻找节点170
第4章 . Vue的妙处173
4.1我要去做任务173
4.2壮士出征175
4.3Vue数据绑定175
4.4Vue第一式——简单数据绑定179
4.5Vue第二式——灵活有趣的事件绑定186
4.5.1v-on监听事件186
4.5.2处理事件冒泡189
4.6Vue第三式——条件语句192
4.7Vue第四式——循环语句197
4.8Vue第五式——属性绑定200
4.9Vue第六式——Vue组件开发201
4.10Vue第七式——计算属性211
4.11Vue第八式——监听属性213
4.12Vue第九式——过滤器217
4.13叶小凡的战果220
第5章 . Vue cli项目223
5.1Nodejs安装223
5.2使用npm发布模块224
5.3使用npm安装模块229
5.4使用Vue-cli搭建项目231
第6章 . ES6语法238
6.1全新的变量定义238
6.2变量的解构赋值239
6.3字符串升级242
6.4Proxy代理243
6.5强化后的数组245
6.5.1快速构建新数组245
6.5.2新的数组方法246
6.5.3数组复制246
6.6强化后的函数247
6.7更加灵活多变的对象251
6.8promise对象和async函数252
后记256
试读:
1 初入宗门
乐阳村,处于脚本大陆东部的边缘地带,民风淳朴,村名日出而作,日落而息。这一日清晨,所有村民来到村庄的门口,正在为一个十五六岁的少年送别。只见那少年虽然身体瘦弱,可是目中绽放出异彩,身躯虽不壮实,倒也挺拔。
“叶小凡,你是我们全村人的骄傲,百年来唯一一个具备修行JavaScript甲等资质的孩子!马上会有千鹤派的大人来接你,今后你一定要认真修行,给我们全村的人争光!”
他叫叶小凡,几天前通过了修行资质的检验,符合修行JavaScript的资质。
“千鹤派!”叶小凡眼前一亮,语气中伴随着激动,两眼放光。千鹤派,在脚本大陆,已是数一数二的大门派,每一个宗门弟子都能够修炼一种神奇的功法——JavaScript,修成之后,威力之大,足以翻山倒海,称霸一方天地!
不多时,天气风云变化,一道长虹降下,瞬间变为一人。他身穿一件玄青色玉锦衣服,腰间绑着一根白色蟠离纹革带,一头黑发如云发丝,有着一双清澈明亮的眼眸,身形颀长,当真是气宇轩昂温文尔雅。
“你就是叶小凡?”男子淡淡开口,神识一扫,惊讶地发现,此子的修行资质竟为甲等,眼中闪过一丝惊讶。
“在下林元青,千鹤派青山院掌尊,你既然通过了考核,具备修炼资质,即刻你随我上山,不得有误。”
叶小凡当下便告别众人,在林元青的术法之下,随即化为一道长虹飞天而去。留下了一脸震撼的村民。
千鹤派分为三个大院,分别为青山院,绿水院,以及神秘的玄冰院。每个院都有一个掌尊,那林元青,赫然便是青山院的掌尊!掌尊地位之高,仅次于大长老,大长老之上,又有太上长老。几乎只是两三个呼吸的时间,林元青已经带着叶小凡,来到了千鹤派。叶小凡两眼一花,仿佛上一刻还在村子口,下一刻就看到了千鹤派的阁楼。
“这里是?”叶小凡这一辈子都没有见过如此宏伟的建筑,忍不住开口。一想到今后可以在这里修行,更是兴奋。哈哈,我叶小凡今后一定能突破层层障碍,成就JavaScript一代大师!
“这里是千鹤派青山院。”林元青招来仆从,给叶小凡随意找了一个住处,又给了一卷功法,吩咐了几句,似乎还有其他要事,就立即化为一道长虹离去了。
叶小凡拿起功法一看,赫然写着“JavaScript基础修炼要诀”几个银光大字,眼中放出异彩,一想到村中父老乡亲那期盼的眼神,便下定决心,不混出个名头,绝不回去!
2 直接量
叶小凡的住处被安排在青山院西北角的一个房间里,虽不宽敞,倒也干净。叶小凡两眼露出振奋的眼神,随便吃了点乡亲们准备的干粮后,就立刻开始打坐修行。编程之修,重在积累,而非资质。资质虽然一样重要,可是后天的努力一样不可缺少。这些道理,叶小凡在还未上山之前,就已经熟知!因此,即便是资质平凡,只要肯下苦功,一样可以修得正果!叶小凡虽然甲等资质,可依然不骄不躁,开始从“JavaScript基础修炼要诀”第一页开始学起。
修炼要诀第一章,直接量。
编程世界,所谓直接量,就是明面上可以见到的数据值。常见的直接量有数字,小数,字符串。修行者,利用自身体内的能量,凝结出一个个简单的直接量。叶小凡目前修为较低,就连最基本的学徒境界都没有,体内能量薄弱,经过多次尝试,只能凝练出一些简单的数字,比如10,20。忽然,叶小凡目光一闪,一个字符串在体内形成!叶小凡细细感悟,原来是一个“Hello World” 字符串,叶小凡喜欢观察,立马发现了字符串和数字的不同。字符串的出现,必然带着双引号,被很好的包裹住,而数字则不同,就是光秃秃的一个10或者20,没有双引号。
“原来,字符串一定需要用双引号包裹,那么单引号是否可行呢?”叶小凡重新运气,转眼间,一个用单引号包裹的‘Hello World’就出现了。见此,叶小凡大喜,哈哈,原来单引号也可以。
"Hello World"
'Hello World'
突然,这两个字符串和数字像是失去了依托,瞬间化为虚无。叶小凡一惊,心道,看来直接创造出来的字面量只是昙花一现,无法持久,要是有一个什么东西把直接量装起来就好了。
叶小凡收起心神,继续阅读“JavaScript基础修炼要诀”,忽然,他眼前一亮。
“原来如此,直接量虽然只是昙花一现,但是如果我能用var定义一个变量,再指向那个直接量,就能有保存数据的妙用!”
想到这里,叶小凡当即催动功法,定义了一个变量。
var a;
“成了!”,叶小凡开心的一拍手,心念一动,一个用双引号包裹的“Hello World”字符串凭空出现。这一次,没等字符串遁入虚无,叶小凡就立刻让变量a指向了这个字符串。
var a;
a = "Hello World";
“嗯,有点麻烦,还不如直接并为一句。”先定义变量,然后指向一个字符串,这种操作分成了两步,还是一步到位的好。就在叶小凡这么想的时候,代码立刻发生了变化。
var a = "Hello World";
原来这也可以!
前言
JavaScript是一种轻量级的动态编程语言,在诞生之时,JavaScript并没有受到人们的过多关注,但是谁也想不到,在大前端快速风靡的今天,JavaScript已经成为当今编程世界中优雅而不可或缺的一员。如果你是一名编程初学者,刚刚学习完HTML和CSS,那你就不得不接触JavaScript了。刚开始,你会用jQuery操作DOM,切换页面并写一写单击事件,似乎觉得JavaScript也不过如此。然而,当你在for循环里面写了一个setTimeout函数后,意想不到的结果发生了,这时你才明白前端这“坑”,竟如此之深!
JavaScript就是这样一种看起来简单,却又很难精通的编程语言。
也许你是一名想要学习JavaScript的“小白”,或者是工作多年的“程序猿”,甚至是已经用Vue前端框架做过很多项目的“大牛”,但是不管怎样,相信你在阅读本书后,一定会有意外的收获。你平时可能只知道该这样写业务逻辑,该那样定义变量,否则就会报错,这是多年的工作经验给你带来的宝贵财富。但在阅读本书后,你可能就会在某些地方豁然开朗,哦,原来它的内部是这样运作的!
本书的第1~3章讲解JavaScript的基础知识,对于一些重要的知识点,如json对象、函数、闭包等,更是用了近乎“变态”的篇幅进行详细阐述。再加上本书多数章节采用小说体讲述知识,可以使读者学习起来不会觉得过于无聊,反而会饶有兴趣。JavaScript的基础知识尤为重要,可以说,学好了JavaScript的基础知识,后期再学习各种框架,就会变得游刃有余。
本书的第4章和第5章将介绍当今的主流前端框架之一——Vue。只要读者具备一定的JavaScript编程基础,学习Vue也会是比较轻松的。
一旦进入前端行业,你就会发现,前端不仅是一堆事件的堆砌和数据的渲染。随着B/S架构的流行,网页变得越来越复杂,这就导致JavaScript的代码量越来越大。尤其是在编写复杂的业务逻辑时,由于需要频繁调取后端接口,并在得到接口的返回值后才能进行其他操作,因此如果接口与接口之间有连带关系,大量的回调函数就会嵌套,从而使得代码很容易产生意想不到的错误。更可怕的是,这样的代码,在检查时却完全看不懂。这个时候,就可以使用promise对象和async函数了,这是ES6语法的知识点,本书的第6章将会简单介绍这些知识。
为了使读者能够开心愉悦地阅读本书,本书多数章节采用玄幻小说的写作风格,书中的小故事可以让读者以全新的角度看待JavaScript。或许你可以在叶小凡的修仙旅途中感悟到JavaScript的美感,从此在面对工作和学习中的JavaScript代码时,不再觉得这是一种负担,而是一种喜悦。
本书的编写灵感来自于笔者的一次奇思妙想,因为在市面上不容易找不到一本类似小说的编程技术书籍,于是,本书就诞生了。本书不像传统的技术书籍那般沉闷,而是像玄幻小说一样,阅读起来很有趣味性。读者会发现,原来JavaScript还可以这样学。
如果你已经准备好了,那么请跟着叶小凡,开始享受这段开心愉悦的修炼旅途吧!
编者2020年8月
PS: 下面这个人不是我,冒充我,天天在我的文章下面评论,然后引流到他自己的公众号。大家不要上当,他用了跟我一样的名字和头像!
他的简书地址://www.greatytc.com/u/f7046342b176 <== 假的