位置: IT常识 - 正文

JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)(javascript百炼成仙免费)

编辑:rootadmin
JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21) 文章目录1.1 第一章 初入宗门1.2 第二章 直接量1.3 第三章 数据类型1.4 第四章 数据类型扩展内容:1.5 第五章 基础考核1.6 第六章 何老1.7 第七章 对象数据类型1.8 第八章 对象的取值1.9 第九章 循环遍历的奥妙小结:For 循环1.10 第十章 对象内容的遍历1.11 第十一章 外门小比1.12 第十二章 JavaScript 运算符1.13 第十三章 语惊四座1.14 第十四章 秀1.15 第十五章 天秀1.16 第十六章 数组方法1.17 第十七章 蒂花之秀1.18 第十八章 函数七重关之一 (函数定义)1.19 第十九章 JavaScript 编译原理1.20 第二十章 函数七重关之二 (作用域)1.21 第二十一章 函数七重关之三(参数传递)

推荐整理分享JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)(javascript百炼成仙免费),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript百炼成仙小说,javascript百炼成仙 百度网盘,javascript百炼成仙免费TXT,javascript百炼成仙免费下载,javascript百炼成仙 百度网盘,javascript百炼成仙免费TXT,javascript百炼成仙小说,javascript百炼成仙免费,内容如对您有帮助,希望把文章链接给更多的朋友!

本书原文作者为 CSDN 博主「剽悍一小兔」https://blog.csdn.net/weixin_39570751 ,是他出版的一本 javascript 编程修仙小说,本文为节选

1.1 第一章 初入宗门

 乐阳村处于脚本大陆东部的边缘地带,其民风淳朴,村民日出而作、日落而息。某一日清晨,所有村民都来到了村口,正在为一个十五六岁的少年送行。只见那个少年虽然身体瘦弱,可是目中却绽放出异彩;身躯虽不壮实,倒也挺拔。

 “叶小凡,你是我们全村人的骄傲,是百年来唯一具备修行 JavaScript 甲等资质的孩子!马上会有千鹤派的大人来接你,今后你一定要认真修行,给我们全村的人争光!”

 他叫叶小凡,几天前通过了修行资质的检验,符合了修行 JavaScript 的资质。

 “千鹤派!”叶小凡眼前一亮,语气中伴随着激动,两眼放光。千鹤派在脚本大陆是数一数二的大门派,每个宗门弟子都能够修炼一种神奇的功法——JavaScript,修成之后,其威力之大,足以翻山倒海,称霸一方天地!

 不多时,天气风云变化,一道长虹降下,瞬间变为一人。他身穿一件玄青色的玉锦衣服,腰间绑着一根白色蟠螭纹革带,一头黑发,有着一双清澈明亮的眼眸,身形颀长,当真是气宇轩昂、温文尔雅。

 “你就是叶小凡?”男子淡淡开口,神识一扫,惊讶地发现此子的修行资质竟为甲等,眼中闪过一丝惊讶。

 “在下林元青,千鹤派青山院掌尊,你既然通过了考核,便具备了修炼资质,你随我即刻上山,不得有误。”叶小凡便告别众人,在林元青的术法之下随即化为一道长虹飞天而去,留下了一脸惊讶的村民。

 千鹤派分为三大院,分别为青山院、绿水院以及神秘的玄冰院。每个院都有一个掌尊,林元青赫然便是青山院的掌尊!掌尊地位之高,仅次于大长老;大长老之上,又有太上大长老。几乎只是两三次呼吸的时间,林元青已经带着叶小凡来到了千鹤派的青山院。叶小凡两眼一花,

 仿佛上一刻还在村口,下一刻就看到了千鹤派的阁楼。

 “这里是……?”叶小凡一辈子都没有见过如此宏伟的建筑,忍不住开口。

 一想到今后可以在这里修行,更是兴奋,“哈哈,我叶小凡今后一定能突破层层障碍,成为 JavaScript 一代大师!”

 “这里是千鹤派的青山院。”林元青招来仆从,给叶小凡随意找了一个住处,又给了一卷功法,吩咐了几句后,似乎还有其他要事,便立即化为一道长虹离去了。

 叶小凡拿起功法一看,上面赫然写着“JavaScript 基础修炼要诀”几个银光大字,他眼中放出异彩,一想到村中父老乡亲那期盼的眼神,便下定决心,不混出个名头绝不回去!

1.2 第二章 直接量

 叶小凡的住处被安排在青山院西北角的一个房间,虽不宽敞,倒也干净。叶小凡两眼露出振奋的眼神,随便吃了点乡亲们准备的干粮后,就立刻开始打坐修行。编程之修,重在积累,而非资质。资质虽然重要,可是后天的努力更不可缺少。这些道理,叶小凡在还未上山之前就已经熟知!因此,即便是资质平凡,但只要肯下苦功,一样可以修得正果!

 叶小凡虽然具有甲等资质,但他依然不骄不躁,开始从《JavaScript 基础修炼要诀》第一页学起。修炼要诀第一章——直接量。编程世界中的直接量,就是表面上可以见到的数据值。常见的直接量有数字、小数、字符串。修行者利用自身体内的能量,凝结出一个个简单的直接量。叶小凡目前的修为较低,连最基本的学徒境界都没到,体内能量薄弱,经过多次尝试,只能凝练出一些简单的数字,比如 10、20。

 忽然,叶小凡目光一闪,一个字符串在体内形成!叶小凡细细感悟,原来是一个“Hello World”字符串,叶小凡善于观察,立刻发现了字符串和数字的不同。

 字符串的出现必然带着双引号,被很好地包裹住,而数字则是光秃秃的,如 10 或者 20,没有双引号。

 “原来,字符串一定需要用双引号包裹,那么单引号是否可行呢?”叶小凡重新运气,转眼间,一个用单引号包裹的‘Hello World’就出现了。见此,叶小凡大喜,哈哈,原来单引号也可以。

1 "Hello World"2 'Hello World'

 突然,这两个字符串和数字像是失去了依托,瞬间化为虚无。叶小凡一惊,心道:看来直接创造出来的直接量只是昙花一现,无法持久存在,要是有一个什么东西能把直接量装起来就好了。

1.3 第三章 数据类型

 叶小凡收起心神,继续阅读《JavaScript 基础修炼要诀》,忽然间,他眼前一亮。

 “原来如此,直接量虽然只是昙花一现,但是如果能用 var 定义一个变量,再将它指向那个直接量,就能有保存数据的妙用了!”

 想到这里,叶小凡立即催动功法,定义了一个变量。

var a;

 “成了!”,叶小凡开心地一拍手,心念一动,一个用双引号包裹的“Hello World”字符串凭空出现。这一次,没等字符串遁入虚无,叶小凡就立刻让变量 a 指向了这个字符串。

var a;a = "Hello World";

 “嗯,有点麻烦,还不如直接合并为一句,先定义变量,然后指向一个字符串,这种操作分成了两步,还是一步到位更好。”就在叶小凡这么想的时候,代码立刻发生了变化。

var a = "Hello World";

 原来这样也可以!

 下一章我们继续学习“数据类型”,学习了数据类型才能更深一步的了解 JavaScript!

1.4 第四章 数据类型

 修行还在继续,随着对要诀理解的深入,叶小凡明白,在编程世界中,刚才的直接量都属于一种数据,如同人有男女之分一样,数据也是有类型的。

 在 JavaScript 中,数据可分为两类,分别为原生数据类型(primitive type)和对象数据类型(object type)。

 叶小凡心念一动,数字“6”立刻浮现在他体内的内存元海中,同时,为了不让数字消失,他还专门定义了一个变量指向这个数字。

var num = 6;

 叶小凡心中已有明悟,这个数字和字符串都属于原生数据类型。那么,还有其他原生数据类型吗?随着心念扫过要诀,一炷香的时间后,

 叶小凡已经若有所悟。原来,原生数据类型包括数字、字符串、布尔值,还有两个特殊的类型:null 和 undefined。

 “布尔值,”叶小凡口中喃喃,“它是一种只有 true 和 false 两种状态的类型。”嗯,就好像以前自己在村子里点蜡烛,要么蜡烛亮起来,要么蜡烛熄灭,只有这两种状态。至于 null 和 undefined,叶小凡略一皱眉,结合秘籍,开始了感悟。

 一炷香的时间过去了,叶小凡猛地睁眼,呼吸都有点急促。

 “我明白了!从用法上来看,null 和 undefined 都代表了直接量的空缺,如果一个变量指向了其中任何一个,都代表 false 的含义,也表示没有或空的概念。

 而从根本意义上讲,undefined 要比 null 更加严重一点,代表本不应该出现的错误,比如我刚才定义了一个变量 a,但是我没有把任何直接量赋给它,那么 a 就默认指向了 undefined;而 null 不同,有的时候,我需要给某些变量赋值 null,以达到清空的目的。”

扩展内容:

 JavaScript 包括直接量和变量。首先说直接量,什么是直接量呢?在 JavaScript 的世界里,直接量包含数值(如 10/20)、逻辑值(true/false)、字符串(如“nihao”)、null、undefined、对象和函数。

 其中,函数也称方法,对象和函数会在之后的章节中慢慢介绍。你暂时可以认为对象是存放数据的一个容器,而函数是应用程序处理某一系列逻辑的一个过程设计。

 null 是一个特殊的关键字,表示没有值;null 也是一个原始值,因为 JavaScript 是大小写敏感的,所以 null 和 Null、NULL 或者其他变量是有区别的。

 undefined 是一个顶级属性,它代表某一个变量未定义。同样,undefined 也是一个原始值。

 说完直接量,再来说变量。所谓变量,就是指向了某个直接量或者其他变量的“钥匙”。

 比方说,把一个直接量 true 比作一扇门,然后定义一个变量 flag,最后通过赋值运算符“=”将这个 true 赋值给 flag,这样就完成了一个变量的绑定。

 从此以后,你在别处使用变量 flag,也就相当于使用了直接量 true。简单来说,就是这么回事。

1.5 第五章 基础考核

 叶小凡兴奋起来, 那种钻研了很久之后猛然地豁然开朗的感觉实在是太爽了。趁着心情大好,叶小凡继续钻研《Javascript 基础修炼要诀》,一晃半天时间过去了,叶小凡靠着自己谨慎的性格,刻苦的修炼,有很多问题即便弄懂了也想举一反三。

 这段时间,如果肚子饿了,叶小凡就吃身上带的干粮,渴了就喝清晨的露水。这一幕幕都被那青山院掌尊看在眼里,他心里微微诧异,但更多的是欣慰。

 “此子修行刻苦,虽然目前只是黄衣弟子,可这种修行的忍耐力和执着,哪怕是宗门护法,看到了也要心惊。”

 在千鹤派,弟子根据修为的高低分为黄衣弟子和红衣弟子。红衣弟子之上,便是宗门护法,护法再往上就是掌尊。但凡成为红衣弟子,便会受到宗门的重视,修行资源和待遇也是水涨船高。如果有幸成为宗门护法,那更是一步登天,在每一个大院,宗门护法的权力仅次于掌尊!

 而此刻的叶小凡,还只是最低一级的黄衣弟子。这期间,林元青时不时地会来到叶小凡的住处为他点拨一二。叶小凡在林元青的点拨下,很多之前想不通的难题都迎刃而解,他看向林元青的目光更是多了几分尊敬。

 “叶小凡,下个月就是我们青山院基础考核的日子了!”林元青淡淡说道。

 “基础考核?”叶小凡一愣。

 “没错,在千鹤派,每个月都会有一次考核,如果考核进入前 5 名,除了能获得一笔宗门的奖励,还能收获不菲的贡献点。第一名甚至可以直接进阶为身份更高的弟子!”

 叶小凡自知现在自己是黄衣弟子,一旦晋升成功,就能成为红衣弟子。临走前,林元青看了叶小凡一眼,说:“希望这次你别让我失望!”

 说罢林元青弹指间绘出代码

var container = {gongfa:御剑飞行};

 直接脚踏数据化成的剑乘风而起离去了。

 这就是林掌尊吗?居然可以轻轻松松的御剑飞行,这得到了什么级别的强者,还有刚刚林掌尊绘出的是什么代码?

var container={};

 似乎是林掌尊留给他的暗示,但叶小凡才刚刚弄明白数据类型,一时间叶小凡的压力增大了许多,毕竟从接触到现在也算是刚刚起步,也没有什么人指导。

 一直到进入千鹤派才有了修炼秘籍《Javascript 基础修炼要诀》,现在距离下个月只有不到二十日的时间,想了想叶小凡接着翻开《Javascript 基础修炼要诀》开始修炼起来,并下定决心定不能让林掌尊失望。

 次日叶小凡准备外出找寻灵感,但对青山院比较陌生,便想着就在周边看看,刚走出住宅看到师兄师姐们在外操练代码,其中一名师兄看到了刚出来的叶小凡便上直径走上前打招呼,

 “你就是叶小凡吧,幸会啊,我叫王志宇”,“啊,你好你认识我吗?”叶小凡被这突如其来的热情所吓到了,

 “我们整个青山院都知道你!”

 “我才刚来青山院几日,你们怎么认识我的啊?”

 “林掌尊说我们青山院新来了一名甲等资质的弟子,名为叶小凡,刚刚就看到你一个陌生的面孔,想必就是你了”此时的王志宇看到有个这么优秀的小师弟便显得异常的兴奋,周围的师兄弟姐妹听闻都朝着叶小凡看去。

 “我…”还没等叶小凡开口就一群人挤了过来,“这就是叶小凡啊”,“哇!甲等资质”,“咱整个青山院也才就大师兄和大师姐是甲等”,一群弟子围着叶小凡议论个不停,'甲等资质原来这么稀有嘛…'叶小凡心想着。

 很快议论随着掌门的到来随之而散,而叶小凡独自前往了青山院附近的一座小山上开始修炼了起来,每天清晨就去傍晚而归。

1.6 第六章 何老

 这一日,叶小凡来到青山院附近的小山上修炼,忽然被一块石头绊 了一跤,正在他自认倒霉地打算爬起来的时候,他在石头缝里发现了一 枚古怪的戒指。戒指通体呈现枯黄色,似是年代久远。

 “摔了一跤,捡到一枚戒指,算是补偿吧,虽然这枚戒指应该也没 什么用。”叶小凡随手拿起戒指,戴在了手上。就在这时,一股神秘的 力量从叶小凡的丹田之处涌了上来,这股力量将他置身于一个奇妙的空 间之中。

 “哈哈哈,小娃娃,没想到我何老被封印了上千年,今天托你的福 终于重见天日啦!咦,你的修为怎么这么低,竟然连幼儿园的水准都没 有!罢了罢了,从今以后就由我来教导你,你最好给我尽快达到大学的 修为,这样我就可以真正地自由啦! ”

 叶小凡被这突如其来的声音吓了一跳,惊慌地喊道:“怎么回事, 你是谁,你想干什么? ”

 “我是何老,几千年前是这片脚本大陆的最强者,只不过不小心遭 人暗算,才被封印到了这枚戒指中。小娃娃,你现在的修为太低了,等 你到了大学境界,才能有力量把我放出来,我也就自由了。小娃娃,你 放心,等你把我放出来后,我绝对不会亏待你。跟着我,包你从今往后 吃香的,喝辣的。哎呀,小娃娃,你干什么?快住手,快住手! ”

 叶小凡虽然谨慎、愿意吃苦,但到底是没有遇到过这么离奇的事 情。戒指里面封印着这片大陆的最强者,这听起来实在是有些天方夜谭 了。

 叶小凡心想:“莫不是妖怪?嗯,对了,一定是妖怪!赶紧扔,赶 紧扔!”

 “这不是真的,我一定是在做梦,妖怪爷爷,你可别来找我啦! ”说 着,叶小凡扬起他那只白嫩的小手,手心里攥着那枚刚捡来的戒指,就 要扔到悬崖下边。

 “小娃娃,你快住手啊,我说的是真的,我可不是什么妖怪,我是 何老啊。哎呀呀,我好不容易等来一个人,这么多年都等下来了,你这 要是一扔,我又要等到猴年马月才能有希望出来了! ”何老这下真的急 了,语气丝毫没有了之前的从容和兴奋,有的只是惊慌和无奈。

 “哼,你还嘴硬,还说你不是妖怪,你当我傻啊。大学境界是传说 中才有的境界,根本没有人可以修炼到。我们宗门的太上大长老,也不 过是高中境界,可即便是这样,他也有只手遮天的能力了,看我不扔了 你。”说着,叶小凡又要扔。

 “哎呀呀,好了好了,我不说了好不好?对了,小娃娃,你来问我 问题啊,在这片大陆上,JavaScript 的功法和心得还没有什么可以问倒 我。”何老都要哭了,真没想到自己好不容易有了重获自由的希望,却 马上就要泡汤,能不能不这么刺激呀?

 叶小凡听到这话,愣了一下,心想难道这是真的?可转念一想,天 知道这个老妖怪在打什么主意,还是扔了好,扬起手又要扔。

 “小娃娃,你可知道对象数据类型? ”何老吼道。

1.7 第七章 对象数据类型

 听到这句话,叶小凡一顿,动作停止了下来。

 对象数据类型在《JavaScript 基础修炼要诀》中只是提了一下,并没 有细讲,它深深地勾起了叶小凡的好奇心。

JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)(javascript百炼成仙免费)

 “小娃娃,相见是缘,既然你感兴趣,我便教你一教。你且听好, 在 JavaScript 中,数据可分为两类,分别为原生数据类型和对象数据类 型。所谓对象数据类型,是一种复合型的数据类型,它可以把多个数据 放到一起,就好像一个篮子,这个篮子里面的每一个数据都可以看作是 一个单元,它们都有自己的名字和值。”

 叶小凡被何老的话深深地打动了,立刻聚精会神地听起来。

 “现在你相信了,我可还是妖怪? ”

 叶小凡嘿嘿一笑,重新把戒指戴好。

 “小娃娃,你叫什么? ”

 “叶小凡! ”

 “嗯,老夫姓何,你姑且叫我何老吧。小娃娃,我且问你,你可愿意拜我为师? ”

 “弟子愿意!”

 说完,叶小凡将戒指摘下,放在身前的岩石之上,开始行拜师之 礼。何老虽然没有形体,但是却能看得一清二楚,待所有礼节完毕,叶 老这才满意地点了点头。

 “很好,小娃娃,你可听好。对象数据类型比原生数据类型强大了 不少,原生数据类型,比如数值型、浮点型、布尔型等都只能存放一些 直接量,也就是说单一的数据。而对象数据类型却是可以存放一大堆数 据的集合,这些数据都有自己的名字,比如…”

 忽然,叶小凡心头一亮,感觉有清晰的画面传来。

 “我现在没有形体,但是我却可以用意念来给你做演示,小娃娃, 你且看好。现在我给你创建一个对象。”

var container = {};

 “创建对象就是用一个大括号吗? ”

 “这是创建对象的一种方式,也是最常用的方式。创建对象以后, 就相当于开辟了一块内存,对象包含若干数据,每个数据都有自己的名 字和值。对象好比是一个容器,现在我要在这个容器里面放一个数据, 你且看好!”

var container = { caoyao: "草药",};

 “小娃娃,你可看明白了? ”

 “前辈,您刚才说对象数据类型里面可以放若干数据,那现在它里 面是不是已经有了一个数据,数据的名字叫作 caoyao,它的值是字符串 类型的草药? ”叶小凡两眼放光,回答道。

 "嗯,小娃娃,看来你的悟性还可以。在这个例子中,caoyao 叫作键,草药叫作值,它是一种键值对的形式。”何老哈哈大笑。

 “键值对,键值对,一个键对应一个值,一个键和一个值就凑成了 一对,键和值中间用冒号。哦,我明白了! ”叶小凡恍然大悟,随即又 问道:“那么,前辈老爷爷,您刚才不是说对象数据类型里面可以放若 干个数据吗?现在里面只有一个,怎么添加第二个呢? ”

 “嗯,小娃娃,这个问题问得很好。你且听好,如果你想要在一个 对象里面添加新的数据,则只需要添加一个逗号,然后写上新的键值 对就行了。”

var container = { caoyao: "解毒草", feijian: "乌木剑",};

 “小娃娃,我现在给你演示的方式是在创建对象的时候立刻在对象 里面设置键值对。其实还有其他办法,那就是在对象创建之后,在外面对这个对象的变量进行操作。你且看好,我现在用新的办法改写刚才的 例子。”

var container = {};container.caoyao = "解毒草";container.feijian = "乌木剑";

  “虽然我不太明白这里面的玄妙,但是我大概猜到了 caoyao 是 container 这个对象的属性,似乎就是把刚才写在“{}”里面的东西又在外 面重新写了一次的意思吧。”

 "嗯,孺子可教,container.caoyao 中的点(.)就是对象访问属性的 意思,正因为 caoyao 是 container 的属性,所以 container 才可以用点

 (.)O 对象包含若干数据,每个数据都是一个键值对,这些数据也叫 作对象的属性。那么键值对中的键就是属性名称,键值对中的值就是属 性值。”

 “我明白了,但是我还有一个疑问,如果对象用点(•)访问一个根 本不存在的属性会怎样呢? ”叶小凡问道。

 “好问题,就比方说刚才的例子,如果我直接访问一个根本不存在 的属性 danyao,那么会怎样呢?小娃娃,看好!”

var container = {};container.caoyao = "解毒草",container.feijian = "乌木剑"console.log(container.danyao);// 注意:丹药这个属性是不存在的结果是undefined。

 "我明白了,danyao。这个属性不存在于 container 对象中,因此它是 未定义的,得到的结果就是 undefined! ”叶小凡惊呼。

1.8 第八章 对象的取值

 “小娃娃,我现在问你,如果我不知道对象的某个属性叫什么名字,那么又该怎么访问对象中对应这个属性的值呢?”何老笑呵呵地问道。

 “什么什么,事先都不知道对象的属性名称,怎么可能访问得到啊?

 这我可不知道,我想这是不可能的。”叶小凡想了想,赶紧摇头。

 “这样吧,我换一种说法。我想你现在已经知道对象可以通过一个点号(.)访问其中的某一个数据了。”

 说着,何老随手一挥,一个对象就生成出来了。

var container = { caoyao:"解毒草", feijian:"乌木剑"};

 “我现在想用到解毒草,就直接用 container 调用它的 caoyao 属性。”

container.caoyao

 “这样做的确是可以的,但是如果遇到这种情况,即事先不知道调用的属性叫什么名字,那么该如何用一个变量定义属性呢?”

 说着,何老又随手一挥,定义了一个变量。

var container = { caoyao:"解毒草", feijian:"乌木剑"};var prop = "caoyao";

 “这……”叶小凡也陷入沉思,过了许久,缓缓说道:“直接点 prop 肯定不行,那样的话,container 调用的肯定是一个叫作 prop 的属性。而事实上,container 对象里面是没有叫作 prop 的属性的,得到的结果肯定是 undefined。”

 听到这里,何老向叶小凡投去了赞赏的目光,继而说道:“你的分析没有错,这里不能再用之前的那种方法了。小娃娃,你且看好!”话音刚落,何老就打出了新的代码。

var container = { caoyao:"解毒草", feijian:"乌木剑"};var prop = "caoyao";console.log(container[prop]);

 “这!”叶小凡惊呼。

 看着叶小凡惊讶的样子,何老似乎有些得意。

 “小娃娃,这就是我教你的新技巧,对象不仅可以用点号(.)访问它的一个属性,也可以用中括号([])。如果用中括号,里面就允许再写一个变量。当然了,写字符串也是可以的。”

 似乎是担心叶小凡理解不了,叶老又补充了一行代码。

console.log(container[prop]);

 过了好一会儿,叶小凡才回味过来,说道:“我明白了,如果事先属性的名称未知,或者调用的属性是动态变化的,就不能使用点号了。使用中括号可以最大程度地提升对象调用属性的灵活度!”

1.9 第九章 循环遍历的奥妙

 “小娃娃,我且问你,可否知道循环遍历的法术? ”

 “循环遍历不就是 for 循环或者 while 循环吗,这有何难? ”

 说着,叶小凡就随便打出了一段代码。

for(var i= 0;i < 10;i++) { console.log(i);}

 “嗯,你使用的是 for 循环。如果你希望一遍又一遍地运行相同的代 码,并且每次的值都不同,那么使用循环是很方便的。

 就好像你刚才 写的,你想要重复使用 console.log 输出一个东西,使用 for 循环的确可行。那你可知 while 循环? ”

 叶小凡想了一下,说道:"感觉 while 循环和 for 循环差不多吧,就是 它们在语法上稍微有点区别。”

 说着,叶小凡随手打出一段代码,将刚才的 for 循环改写成了 while 循环。

var i = 0;while(i < 10){ console.log(i); i++;}

 “i++是自增运算符,表示把当前的变量自增一个单位。而 ++i 和 i++是有区别的,前者代表先自增一个单位,再运算;

 后者相反,表示 先运算,再自增一个单位。

 但是由于这段代码中的 i++占单独一行,没 有对 i 进行使用,所以不管是 ++i 还是 i++,只要这句话执行完毕,i 的值 都会自增。”

 听到这里,何老满意地点了点头。

 "小娃娃,看来你的基础不错,那你说说 while 循环和 for 循环除了语 法还有什么区别。

 “这 …”叶小凡一时语塞。

 “小娃娃,你且看好,你方才写的 for 循环中有一个小括号。

 小括号 里面有 3 个表达式,分别为“var i=0”,“i < 10”还有“i++”。第 1 个语句是在 循环开始之前执行的,“var i=0”的意思是定义了一个变量 i,是整数,初 始值为 0。第 2 个语句是“i < 10”,表示进入循环体的条件。”

 “循环体就是那个用大括号({})扩起来的部分吗? ”叶小凡问道。

for(var i=0;i < 10;i++) { console.log(i);}

 “没错,不论是 for 循环还是 while 循环,循环体就是这个部分,这个 部分里面的代码是需要被多次执行的。

 现在我再给你说说最后一个语 句“i++”,这个语句是在刚才我们所说的大括号里面的代码被全部执行 之后才会被执行的。

 一般来说,上面这段语句里面的代码可以控制循环 变量 i 自增一个单位或者自减一个单位。”

 “自增我知道,无非就是 i++或者 ++i,为什么要自减呢? ”

 “关于这个问题,是和第 2 个语句相关联的。比如你刚才写的代码。”说着,何老指向叶小凡刚才写的代码。

for (var i=0; i < 10; i++) { console.log(i);}

 “你的循环判断条件是当 i < 10 的时候才会进入循环体,也就是后面 用大括号扩起来的部分,对吧? ”何老问道。

 “没错,最开始的时候 i=0,第一次循环中 i 自然是小于 10 的,于是就 进入了循环体,像这样。”说着,叶小凡催动内力,让这段 JavaScript 代 码开始执行。

 当执行到这一行代码的时候,叶小凡特意让代码停了下来,调试代码。

 “嗯,很好,我且问你,现在代码停在了这一行,如果我再往下执 行一步,那么会到第 4 行还是停留在第 3 行呢? ”何老问道。

 “那还用问,肯定是跳到第 4 行啦。”叶小凡十分肯定地说道。

 “先别着急下结论,走一步试试。”何老对叶小凡说道。

 “试就试。”说着,叶小凡就用 debug 走了一步。

 “这是怎么回事?”叶小凡讶然,同时皱了皱眉。

 “你再走一步试试。”何老笑呵呵地说道。

 就这样,叶小凡又走了一步,这才发现走到了第 4 行。经过反复测试,叶小凡紧皱的眉头终于松开了。

 原来,第一次跳到第 3 行代码的时候,是在准备运行 for 循环的语句 1,也就是“var i=0”这句话。

 因此,刚才第一次跳到第 3 行代码的时候,i 变量的值是 undefined(未定义),因为这个时候只

本文链接地址:https://www.jiuchutong.com/zhishi/298774.html 转载请保留说明!

上一篇:uniapp微信小程序无法使用本地静态资源图片,背景图在真机不显示方法(uniapp微信小程序广告)

下一篇:Spring Boot 整合 Bootstrap(spring boot整合hibernate)

  • 新手淘宝卖家怎样做好站外推广(淘宝新手卖家怎么入门)

    新手淘宝卖家怎样做好站外推广(淘宝新手卖家怎么入门)

  • 华为识图购物怎么关闭(华为识图购物怎么用)

    华为识图购物怎么关闭(华为识图购物怎么用)

  • 手机qq怎么隐藏性别和年龄(手机qq怎么隐藏绿钻图标)

    手机qq怎么隐藏性别和年龄(手机qq怎么隐藏绿钻图标)

  • 苹果手机截图后总有个图片在旁边怎么关闭(苹果手机截图后怎么裁剪)

    苹果手机截图后总有个图片在旁边怎么关闭(苹果手机截图后怎么裁剪)

  • 锤子od103是哪一款(锤子od103是什么手机)

    锤子od103是哪一款(锤子od103是什么手机)

  • 应用内安装其他应用是什么意思(应用内安装其他应用权限在哪)

    应用内安装其他应用是什么意思(应用内安装其他应用权限在哪)

  • ana-an00是什么型号(ang-an00是什么手机)

    ana-an00是什么型号(ang-an00是什么手机)

  • 发展最快和使用最广泛的计算机是(发展最快使用最多销量最大的一类抗生素是)

    发展最快和使用最广泛的计算机是(发展最快使用最多销量最大的一类抗生素是)

  • 华为闹铃设置在哪(华为在哪里设置闹铃)

    华为闹铃设置在哪(华为在哪里设置闹铃)

  • 华为p40可以反向充电吗(华为p40可以反向给苹果手机充电吗)

    华为p40可以反向充电吗(华为p40可以反向给苹果手机充电吗)

  • 苹果手机怎么下载音乐(苹果手机怎么下载来电铃声)

    苹果手机怎么下载音乐(苹果手机怎么下载来电铃声)

  • word怎么设置成不能修改(word怎么设置成只读模式)

    word怎么设置成不能修改(word怎么设置成只读模式)

  • 一加7怎么设置联系人黑名单(一加7怎么设置悬浮窗口)

    一加7怎么设置联系人黑名单(一加7怎么设置悬浮窗口)

  • 拼多多好评怎么修改或删除(拼多多好评怎么撤回重评价)

    拼多多好评怎么修改或删除(拼多多好评怎么撤回重评价)

  • iphonex是4k屏幕吗(苹果x是4k吗)

    iphonex是4k屏幕吗(苹果x是4k吗)

  • 爱奇艺怎么私聊别人(爱奇艺的私信怎么看)

    爱奇艺怎么私聊别人(爱奇艺的私信怎么看)

  • 爱奇艺赠片怎么赠(爱奇艺赠片怎么领取)

    爱奇艺赠片怎么赠(爱奇艺赠片怎么领取)

  • 充电器发烫对手机有影响吗(充电器充电发烫会不会爆炸)

    充电器发烫对手机有影响吗(充电器充电发烫会不会爆炸)

  • 苹果双重认证怎么取消(苹果双重认证怎么换设备)

    苹果双重认证怎么取消(苹果双重认证怎么换设备)

  • 全民k歌不关注能发私信吗(全民K歌不关注能进入好友的小号吗?)

    全民k歌不关注能发私信吗(全民K歌不关注能进入好友的小号吗?)

  • 全民k歌怎么和好友合唱(全民k歌怎么和好友pk)

    全民k歌怎么和好友合唱(全民k歌怎么和好友pk)

  • 快捷指令app怎么用(快捷指令App怎么移到桌面)

    快捷指令app怎么用(快捷指令App怎么移到桌面)

  • Win7系统笔记本电脑调节屏幕亮度的方法(win7系统笔记本无线网络找不到)

    Win7系统笔记本电脑调节屏幕亮度的方法(win7系统笔记本无线网络找不到)

  • 未确认融资费用和长期应付款
  • 进项税额转出就是要多交税吗
  • 劳务清包违法吗?
  • 增值税发票丢失最新处理办法
  • 现金回收期计算公式
  • 春节补贴是加还是减
  • 采购普通发票和专用发票的区别
  • 股东是否实缴出资款
  • 会计做账借贷怎么做
  • 本月进项税大于销项税有留底,如何做会计分录
  • 当月冲销的作废发票怎么账务处理?
  • 航天金穗服务费抵扣
  • 私车公用违规吗
  • 财务申报工资和实际发工资
  • 销项负数盖章吗
  • 个人如何开具增值税普票
  • 2017年全国税收收入是多少
  • 货车的折旧率
  • 五月份开的发票但是七月冲红了七月增值税怎么报
  • 红字发票如何填写摘要
  • 哪些企业所得税汇算清缴
  • 视同销售的企业所得税汇缴表怎么填列?
  • bios里面怎么设置中文
  • 分期购车的会计分录
  • 分公司可以独立诉讼吗
  • 留存收益净利润之间关系
  • php抽象类使用场景
  • win7如何更换开机密码
  • kb4592438安装失败
  • 文件错误会追究拟稿人吗
  • 建筑业主营业务收入二级科目有哪些
  • 非营利组织免税资格公示
  • html转xhtml
  • php递归实现1到100的和
  • 本月认证上月的进项票如何做
  • css经典面试题
  • php怎么将数据库中的数据显示出来
  • php命令大全
  • thinkphp pathinfo
  • 帝国cms怎么上传图片
  • 织梦数据库在哪
  • 商业承兑汇票和银行承兑汇票的分录
  • 租赁的房屋再转租出去交几次印花税呢
  • 初识SQLITE3数据库
  • 实收资本核算有哪些要求
  • 出口运费怎么入账
  • 小规模企业每月收入多少可以不纳税
  • 银行日记账期初余额写哪儿
  • 费用报销单怎么填写
  • 个税申报汇算清缴流程
  • 银行余额调节表的作用
  • 报销粘贴单怎么粘贴发票
  • 应收帐款的帐务处理流程
  • 红冲调整什么意思
  • 收到其他公司往来款怎么做账
  • 在网上订机票怎么订
  • 金税盘服务费可以抵扣增值税进项税额吗
  • 交通费属于什么部门
  • 什么是履约义务,举例
  • sql2005 create file遇到操作系统错误5拒绝访问 错误1802
  • ubuntu 125%
  • speedmgr.exe - speedmgr是什么进程 有什么用
  • 磁盘限制
  • 淘宝下载电脑
  • macbook xcode
  • 基于个人同意处理个人信息的个人什么撤回其同意
  • js加载失败怎么办
  • nodejs静态编译
  • android开机自启动显示界面
  • 不错的意思
  • unity3d4个脚本
  • Do All in Cmd Shell一切在命令行下完成第1/6页
  • js实现时间
  • centos 安装完成后无法启动
  • unity ugui ngui
  • javascript运行速度
  • 国家税务总局政策法规司
  • 苏州市国家税务局稽查局李加云副局长
  • 国家税务总局每家公司都可以注册吗
  • 北京市工会会员卡免费公园有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设