天辰的救赎(JS)第二章(神秘令牌)
栏目: JavaScript · 发布时间: 5年前
内容简介:这是一篇小说风格的关于JS的文章,网上已经有大量的优秀技术文章和书籍,写系列的主要目的只是想尝试用不同的方式来分享一些关于JS的知识,或者可以说只是“令牌?什么令牌,拿出来我看看。”[・_・?]你从怀里掏出了昨晚你在草地上捡到的令牌,递给了乌云,乌云接过令牌,拿在手中翻来覆去仔细看了几遍。
这是一篇小说风格的关于JS的文章,网上已经有大量的优秀技术文章和书籍,写系列的主要目的只是想尝试用不同的方式来分享一些关于JS的知识,或者可以说只是 单纯地为了好玩 ,文笔不怎么好,希望大家多多包容,不定时更新。
“令牌?什么令牌,拿出来我看看。”[・_・?]
你从怀里掏出了昨晚你在草地上捡到的令牌,递给了乌云,乌云接过令牌,拿在手中翻来覆去仔细看了几遍。
“你运气还挺不错,如果我没看错的话,你这个令牌应该是某个人故意留在这的,里面放了一些他留下的秘密。”
“某人故意留下的?会是之前出现在这救赎之地的人吗?”
“这个我暂时也不清楚,或许是之前在这通过试炼的人离开之前留下的,也可能是一些能力超凡的人通过一些手段绕过封印故意放在这里的,专门为了让你这种初来乍到的新手捡到,这个世界经常有人在各种地方找到各种奇怪的东西,有的人也捡到类似你的这种令牌,里面留有某个人的感悟,有的人会捡到一些神奇的宝物,也有的人直接捡到了一大堆JS币,然后一夜暴富,你这个令牌看着好像是关于一些感悟的,总之,你能捡到这个令牌也算是和它有缘。( ̄~ ̄;)”
“哦,那你说我这个令牌里面可能蕴含了一些留下之人的感悟,这些感悟是指那些关于这世界的元素或规则的感悟吗?就像你刚才给我说的那些。”
“这个倒不一定,某些感悟的确是关于某个元素或者某个技能的,它的目的通常是帮你掌握某个特殊或者复杂的技能,另外一些感悟比起关注某个具体技能,更多的则是一些宏观一点的经验之谈,这种东西通常就得看获得之人的悟性了,有一些人领悟后能力突飞猛进,一日千里,而有的人获得后却一点用也没有,这种感悟,更多的是偏向于关于思维的感悟,而还有一些则更加虚无缥缈,是关于心灵的感悟。”
“关于心灵的领悟?[・_・?]”
“没错,你刚来这世界,可能还体会不到这种领悟的重要性,这么说吧,在这个世界的各个角落,每天都有许许多多的人来到不同的救赎之地,即使面对着相同的规则,相同的技能,但是之间的差别能够非常大,有的人很快就能打破封印走出救赎之地,甚至在外面的世界也能纵横天下,大放异彩,成为一方之主。有的人花了比较多的时间才走出去,但是凭借努力,也能成为风云人物,而还有一些人,却连这救赎之地都出不去,即使你告诉他们只需要领悟一些基础的,并不复杂的规则,就能打破封印,去看一看外面的世界,但是他们就是做不到,他们就是轻易地放弃,所以,有时候,与其说是这世界的规则阻碍了他们,不如说是他们自己的心灵,对于这样的人,一些适当的心灵感悟或许比什么都重要。┐(´∇`)┌”
“嗯,明白了,反正我天辰是不会轻易放弃的,那么话说回来,我要怎么才能打开这令牌,获得里面的感悟?听你说了怎么多我还挺激动的,想马上就打开看看里面是什么! (o゚▽゚)o ”
“不知道。”(・ω・`ll)
“"▔□▔)不知道?!你说了这么多结果连这令牌怎么打开都不知道?”
“本来就不知道,这些东西的打开方式只有留下的人才知道,你先留着,说不定以后合适的时候它自己就打开了。”
“ヽ(ー_ー)ノ,那你还是接着给我讲关于走出这救赎之地的知识吧。。。”
“行,刚才已经给你介绍了这世界的5个基础元素,你应该已经简单了解了它们,现在我们接着往下说吧,光有了元素还不行,你得知道如何去收集元素,也就是说把它们放哪里,这样以后你想用的时候就可以直接拿出来用。”
“~(〃'▽'〃)(一脸期待的天辰)”
“我们现在这世界还在不断进化,现在还处于从ES5阶段往ES6,ES7等不断发展的过程中,这里我就先给你介绍一种比较传统的道具,叫做var变量制造器,顾名思义,它的作用就是帮助你制造变量,有了变量,你就可以把那几种基础元素放进去了。”
乌云从怀里拿出来一个灰黑色的小石板。
“你现在看见的这个小石板就是var变量制造器,你可以看见上面已经有一些写好的文字,还有2个空着的方框,因为现在才刚开始教你,所以我帮你完成了一些内容,你需要做的就只是在这两个空着的方框内放入你需要的内容,左边这个方框放置你需要生成的 变量的名称 ,而右边这个方框里放置你希望存储在这个 变量 里面的 元素 ,放置完成后,它就会给你生成一个变量,这个变量里面就是你放进去的元素,以后你想使用这个元素时,就可以通过这个变量来找到它。”
“看起来很简单嘛,左边的盒子放变量名,右边的盒子放元素,对了,变量名称是什么名称都可以吗?”
“当然不行了,我正打算给你说呢,变量名称只能由 字母,数字,下划线_和美元符号$组成,而且不能以数字开头 。”
“哦( • ̀ω•́ )✧,为什么不能以数字开头?”
“因为这个世界的基础规则就是这样,刚来这时就给你说了,你来到这里,就必须遵守一些这个世界的基础规则,这个就是你需要遵守的规则。”
“那为什么又能以字母美元符号和下划线开头。。。?”
“ヽ(`⌒´)ノ它总得有个开头的东西吧!都说了这是基础规则!”
“好吧( • ̀ω•́ ),那只要我在这基本规则之内就可以随意取我喜欢的名字?”
“理论上来说是这样,不过你取的变量名最好符合你所放元素的特性,比如你的变量名叫name,那么里面最好对应的就是一个名字,如果叫age,里面最好放置的就是年龄,不要乱放一些奇怪的东西。”
“也就是说我不能仅仅满足于取一个符合规则的变量名,还要努力取一个好的变量名,对吧。”
“没错,就是这样!现在你就先试着创建一些变量,创建好了给我看看。”
“好。”
你接过乌云给你的var变量制造器,开始按照上面的规则开始创造变量。
// 一个叫做name的变量, 天辰在里面放了一个和他名字一样的字符串元素 var name = '天辰dreamer'; // 用单引号包裹的字符串 // 一个叫做age的变量,天辰在里面放了一个表示年龄的数字元素22。 var age = 22; // 数字 // 一个叫做is_tc_Awesome的变量,天辰有点迷之自信,所以他放了代表真的布尔元素true进去。 var is_tc_Awesome = true; // 布尔值 // 一个叫做liking1的变量,里面是天辰的爱好之一。 var liking1 = "girl"; // 用双引号包裹的字符串 // 一个叫做$money的变量,天辰把他的钱放进去了。 var $money = null; // null // 一个叫做girlfriend的变量,天辰不知道该放什么到这个变量里,只好放了undefined进去。 var girlfriend = undefined; // undefined 复制代码
“好了,乌云你帮我看看有没有什么问题。”
“我看一看啊,你这几个变量使用了数字,字母,下划线和美元符号,嗯,几种合法的规则都用上了,也没有以数字开头的变量,变量名也符合它所放的元素特性,完全OK,最重要的是确实还挺符合你现在的情况( ̄▽ ̄)~*,除了这个is_tc_awesome有点违心以外。”
“。。。 ̄へ ̄”
“你现在已经知道如何用var变量制造器制造一个变量了,你也应该还记得开始我给你说的,这世界是由一些基础元素和规则组成的对吧?”
“嗯,这和var变量制造器有什么关系吗?”
“当然有关系,你使用var变量制造器的时候,你看见我已经帮你在上面写好了一些内容,你只需要在两个方框内放入变量名和元素就行了,实际上,我写的这些内容,加上你最后填写上去的内容,就是生成变量的规则,了解了它,你就不用再通过变量制造器来创造变量,现在我就把变量的生成规则告诉你。”
“好啊,那你快说!~(〃'▽'〃)”
“第一种规则是简单赋值,也就是你刚才使用的方式,总共由5个部分组成,分别是 var关键字,变量名称,赋值运算符=,需要放进变量的元素,以及最后结尾的分号; ,你按照这样的规则组合,就能获得你想要的变量。”
使用简单赋值规则把多个元素放进多个变量:
“第二种规则是批量赋值,如果你觉得使用多次简单赋值规则比较麻烦的话,你可以选择使用这种规则一次性将多个元素放进多个变量里,下面是这种规则的组合方式,完成后,你就可以一次性获得3个变量,name,age和$money。”
“第三种规则是连续赋值,这种规则适用于你希望一次性给多个变量放进相同的元素时,使用这种规则时,如果你像下面这样组合,完成后你会获得3个变量,name1,name2,name3,他们里面都是相同的元素。”
“这样看来,第一种规则是一个变量对应一个元素,第二种规则是多个变量对应多个元素,第三种规则是多个变量对应一个元素,那么为什么没有一个变量对应多个元素呢?”
“你傻啊,如果一个变量能够对应多个不同的元素,那么你使用时怎么知道这个变量里面是什么元素?”
“哦,好像是这样。。。”
“嗯,现在你已经知道了3种生成变量的规则,接下来我们来看看几种特殊情况。
第一种情况是假如你在创造变量时只指定了变量名称,但是没有向这个变量放任何元素,这种情况下,如果你试图使用这个变量,会得到什么元素?。 ”
“我想一想啊,首先它应该不会是数字,字符串和布尔值吧,那么就剩下null和undefined了,null代表着空元素,而这里我们没有向这个变量放任何元素,那么我想应该是undefined,对吗?”
“没错,就是undefined,如果你创造变量时候不给它放任何元素,那么它里面就是undefined元素。”
“看来好像只要我创造一个变量,就会有一个元素在里面,如果我指定了某个元素,它就会是我指定的这个元素,如果我不放,就会有一个undefined元素,那么如果我有一个已经创造好的变量,我能改变它里面的元素吗?”
“废话,变量不能变还叫变量干嘛,你想改变一个变量里面的元素时,你可以直接用一个新元素替换掉旧的元素,像这样。”
var name = '天辰dreamer'; var name = '乌云dreamer'; 复制代码
“当然,你也可以使用刚才给你说的规则,重新创造一个相同名称的变量,放上新的元素来达到相同的目的。”
var name = '天辰dreamer'; name = '乌云dreamer'; 复制代码
“~(〃'▽'〃)我明白了。”
“嗯,现在你已经知道了这个世界的几种基础元素,也知道了如何用变量来收集它们,虽然这些都是很简单基础的内容,但是你也一定要认真对待它们,当你使用元素时,就按照元素自身的规则来,比如字符串需要放在成对的单双引号中,而数字布尔等元素就不需要用引号包裹等,而当你想要生成变量时,你也要按照生成变量的规则来,并且不要漏掉规则中的任何一个部分,即使是一个看似无关紧要的符号,要细心一点,也要有耐心,知道了没?”
“好了乌云,我知道了,不积跬步,无以至千里。”
“看不出来你还挺有觉悟的嘛,还能说出这样的话。ヾ(๑╹◡╹)ノ"”
“哈哈,光说说谁还不会。”
“对了,还有一个关于变量名称的重要规则差点给忘记了,变量名除了刚才说的规则以外,其实也是还有一小部分名称你是不能取的,这些名称 通常都有特殊的意义 ,也叫做 关键字 ,比如你创造变量时使用的var一样,因为var有特殊的作用,所以你的变量名就不能取var这个名字,其他关键字也一样,除了关键字以外,还有一些叫做 保留字 的名字,保留字的意思就是现在不是关键字,但是以后可能会进化成具有特殊作用的关键字,所以这些名称你都得避开。”
乌云从怀里掏出了一块白色小石片,只有一个手掌那么大,正反面上都刻有文字。
“拿去吧,好好看看,以后给变量取名的时候注意点。”
你把小石片拿了过来,发现它正面是一堆关键字,反面是一堆保留字,你灵机一动,试着把你名字刻了上去,想看看是什么情况,结果却发现很快就消失了,抬头就看见乌云用一个看白痴的表情看着你,嘴角还带着一丝若有若无的嘲讽。
“又是一个刚来到这里就想改变世界规则的傻瓜。” 乌云心里想。
关键字:
break do instanceof typeof case else new var catch finally return void continue for switch while debugger* function this with default if throw delete in try 复制代码
保留字:
abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield 复制代码
// 这样的方式是不会产生一个叫做var的变量的,而且据说可能会引起世界崩溃。 var var = '元素你随便选,能放进去算我输。'; // 这样是可以获得一个叫做float的变量,前提是float以后不会有它自己的想法! var float = '哼,还好你只是现在遇见我!' 复制代码
你重新低下头开始从头到尾认真地看小石片上的关键字和保留字。
(ง •_•)ง
______________。
(ง •_•)ง
___________________。
(ง •_•)ง
_______________________________。
“我靠,这么多的关键字和保留字,怎么记得住。。。”
“๑乛◡乛๑”刚不是还挺自信的嘛,怎么,现在突然又要害怕了?๑乛◡乛๑”
“(╬◣д◢)谁说我害怕了!记就记,你乌云能记住,我天辰怎么就不能记住了。 ”
正当你准备开始去记住这些关键字和保留字时,那个你和乌云都不知道怎么打开的神秘令牌突然间振动了起来。。。
未完待续。。。
——————我是分割线————————
本章JavaScript内容总结:
变量的作用:
可以把基础值放在变量之中,以后想使用时可以通过这个变量找到放在里面的值。
变量(variable)的命名规则:
1、变量的名称只能由字母,数字,下划线和美元符号组成,并且不能以数字开头。
2、变量的名称应该避开 关键字 和 保留 字。
3、变量的名称应该符合它所代表的值的意义。
变量(variable)的赋值规则:
变量的赋值规则由5个小部分组成,
关键字var
变量名称
赋值运算符=
需要放进变量的值
代表结尾的分号;
var varibleName = '字符串元素'; 复制代码
因为变量名称在赋值运算符的左边,所以变量名称也可以叫做 左值(left operand) ,而需要放进变量的值因为在赋值运算符右边,所以也可以叫做 右值(right operand) 。
三种变量(variable)赋值规则:
1、简单赋值,一次给 单个变量 赋 单个值 。
var name = '天辰dreamer'; var age = 22; 复制代码
2、批量赋值,一次性给 多个变量 赋 多个值 。
var name = '天辰dreamer', age = 22, sex = '男'; 复制代码
3、连续赋值,一次性给 多个变量 赋 单个值 。
var name3 = name2 = name1 = '天辰dreamer'; 复制代码
一些你可能关心的问题:
1、费这么大劲写这么点技术内容你是不是很无聊?
是的。。。
2、这么大个人了能不能正经点?
不能。。。
3、为什么从这么基础的内容写,更新还比较慢,感觉没多大用,能不能写点稍微有技术含量的内容?
我开始也在想这个问题,直接写点有趣的东西吧,那些刚入门的人可能就不太明白怎么回事,从基础写吧,基础好入行久的人肯定又会觉得无聊。
“喂,等等!天辰,你是不是多虑了,根本就没人关心你的文章好吧!”
4、我还是不太懂,为什么建议变量名称要符合所放的元素特性?能不能举个例子?
想象一下,你正在下载一个叫做日语学习资料的文件,文件很大,网速很慢,为了下载它你还专门充了会员,但是!下载完了你打开后却发现里面居然是葫芦娃!(╬◣д◢)。
以上所述就是小编给大家介绍的《天辰的救赎(JS)第二章(神秘令牌)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Effective Ruby:改善Ruby程序的48条建议
Peter J. Jones / 杨政权、秦五一、孟樊超 / 机械工业出版社 / 2016-1 / 49
如果你是经验丰富的Rub程序员,本书能帮助你发挥Ruby的全部力量来编写更稳健、高效、可维护和易执行的代码。Peter J.Jones凭借其近十年的Ruby开发经验,总结出48条Ruby的最佳实践、专家建议和捷径,并辅以可执行的代码实例。 Jones在Ruby开发的每个主要领域都给出了实用的建议,从模块、内存到元编程。他对鲜为人知的Ruby方言、怪癖、误区和强力影响代码行为与性能的复杂性的揭......一起来看看 《Effective Ruby:改善Ruby程序的48条建议》 这本书的介绍吧!