在任何编程语言中,代码需要根据不同的条件在给定的输入中做不同的决定和执行相应的动作。
例如,在一个游戏中,如果玩家生命点为0,游戏结束。在天气应用中,如果在早上被查看,显示一个日出图片,如果是晚上,则显示星星和月亮。在这篇文章中,我们将探索javascript中所谓的条件语句如何工作。
如果你使用javascript工作,你将写很多包含条件调用的代码。条件调用可能初学很简单,但是还有比写一对对if/else更多的东西。这里有些编写更好更清晰的条件代码的有用提示。
数组方法 array.includes提前退出 / 提前返回用对象字面量或map替代switch语句默认参数和解构用 array.every &array.some 匹配全部/部分内容使用可选链和空值合并1.数组方法 array.includes
使用 array.includes 进行多条件选择。
例如:
function printanimals(animal) {
if (animal === 'dog'|| animal === 'cat') {
console.log(i have a ${animal});
}
}
console.log(printanimals('dog'));// i have a dog
上面的代码看起来很好因为我们只检查了两个动物。然而,我们不确定用户输入。如果我们要检查任何其他动物呢?如果我们通过添加更多“或”语句来扩展,代码将变得难以维护和不清晰。
解决方案:
我们可以通过使用 array.includes 来重写上面的条件。
function printanimals(animal) {
const animals = ['dog','cat','hamster','turtle'];
if (animals.includes(animal)) {
console.log(i have a ${animal});
}
}
console.log(printanimals('hamster'));// i have a hamster
这里,我们创建来一个动物数组,所以条件语句可以和代码的其余部分抽象分离出来。现在,如果我们想要检查任何其他动物,我们只需要添加一个新的数组项。
我们也能在这个函数作用域外部使用这个动物数组变量来在代码中的其他任意地方重用它。这是一个编写更清晰、易理解和维护的代码的方法,不是吗?
2.提前退出 / 提前返回。
这是一个精简你的代码的非常酷的技巧。我记得当我开始专业工作时,我在第一天学习使用提前退出来编写条件。
让我们在之前的例子上添加更多的条件。用包含确定属性的对象替代简单字符串的动物。
现在的需求是:
如果没有动物,抛出一个异常打印动物类型打印动物名字打印动物性别const printanimaldetails = animal =>{
let result;// declare a variable to store the final value
// condition 1:check if animal has a value
if (animal) {
// condition 2:check if animal has a type property
if (animal.type) {
// condition 3:check if animal has a name property
if (animal.name) {
// condition 4:check if animal has a gender property
if (animal.gender) {
result = ${animal.name} is a ${animal.gender} ${animal.type};;
} else {
result = "no animal gender";
}
} else {
result = "no animal name";
}
} else {
result = "no animal type";
}
} else {
result = "no animal";
}
return result;
};
console.log(printanimaldetails());// 'no animal'
console.log(printanimaldetails({ type:"dog",gender:"female"}));// 'no animal name'
console.log(printanimaldetails({ type:"dog",name:"lucy"}));// 'no animal gender'
console.log(
printanimaldetails({ type:"dog",name:"lucy",gender:"female"})
);// 'lucy is a female dog'
你觉得上面的代码怎么样。
它工作得很好,但是代码很长并且维护困难。如果不使用lint工具,找出闭合花括号在哪都会浪费很多时间。
你可以回复说你有好事找我的话,我就在。如果没有,我就不在。或者你可以回复说你是希望我是在还是不在呢?如果你希望我在,那我就一直都在。在想着你也在你的心里。
最后就是如果你最近因为跟他生气不想理他的话,你就说我不在哦,下次一定在。
1、一次跟老公吵架赌气要离婚,民政局的叫我们去打印一份离婚协议,打印处那个人说要50,老公:“这么贵我们还是不要离婚了!”正好给了老公一个台阶下。那个人说:“如果你们真的要离可以30块钱给你们!”老公瞪了他一眼,他接着说:“要不20?”瞬间无语了。
2、老爸对我说:“其实你妈挺会关心人的,变天了会问我还冷不?受伤了会问我还疼不?”
我说:“那为啥现在不会关心人了?”
老爸不高兴了:“怎么不关心你了?每次抽了你耳光她都会关心的问,还嘴硬不?”
3、丈夫:“结婚以后,我才知道婚姻是沉重的枷锁!”
妻子:“那当然,所以才要两个人共同承担。”
丈夫试探着问:“你说要是三个人一起承担这些压力的话,你说压力会不会减轻些?”
lcget.com
年纪稍大一点的长沙人都记得,竹簧工艺美术品以其华丽高雅的天然色彩,造型式样繁多,实用性强而著称于世。它与湘绣一样,曾经是具有独特地方色彩的工艺美术品。然而,记者了解到,竹簧工艺品正在从长沙市场上消失,曾经红红火火的竹簧工艺厂停办多年了,从业竹簧工艺的专业人才也流散了,仅仅在收藏市场上看得到零散的竹簧工艺藏品……不少收藏界人士呼吁:请留住这一传统工艺。
竹簧工艺与湘绣一样闻名。
竹簧工艺起源于何时,目前还难以考证。记者从故宫收藏的竹簧器物及资料了解到,乾隆皇帝很喜欢竹簧工艺制作的文房用具,故宫现存的竹簧工艺器物是国宝级文物。
“长沙竹簧工艺在清代晚期比较发达,竹簧工艺主要供出口,外国驻长沙领事馆买办下订单要货,完工的时候,美国人、英国人、日本人的小货船,可顺长江开到湘江长沙码头,直接装货运到世界各地。只有少量的剩余产品和残次品在市面上,能买的人也不多。”七十多岁的长沙竹簧工艺第二代传人彭格士告诉记者。
上世纪六十年代初的《长沙晚报》既以“刀笔生花”报道过王安锡大师的竹雕技艺。1961年王安锡的入室弟子彭格士、宾永生由长沙市工艺美术公司推荐到省湘绣厂,拜著名画家喻幸农为师,在产品造型和绘画设计上推陈出新,设计、制作的竹雕艺术品通过省、市两级筛选,最后有十几件精品入围,参加了第二届全国工艺美术展览会。文化革命初期用长沙竹簧制作的毛主席像章风靡全中国,全厂职工经常通宵加班生产还玩不成任务,这是长沙竹簧最辉煌的时期。
1976年,中国社会发生巨变,国际上发生经济危机,竹艺的出口受到极大冲击,在国内市场和各种因素的干扰下,所有的技术人员全部转行,从此,辉煌了数百年的长沙竹簧工艺退出了舞台,一朵光彩夺目的奇异鲜花瞬间凋谢了。
第三代传人呼吁:
竹簧工艺如果失传,太可惜。
“竹簧工艺又叫翻黄竹艺,三十几道工序中每道工序都十分考究。”长沙竹簧工艺第三代传人代表人物李智勇告诉记者,竹簧工艺制作过程非常复杂。
竹簧工艺第一步是制坯,它是最复杂、最讲究制作技巧的工序,使用的模具、锉、刨、锯、梳、刀、斧加起来有近百种之多。选材须三年以上的大楠竹,下料、去青皮、去肉,砍削出几毫米厚的竹簧,然后放在开水中蒸煮三四个小时;趁热用手工揉制,使竹簧完全柔软并展开,在日光下晒干至平整,制出薄薄的竹簧皮;用猪皮和鱼鳔蒸煮后调制胶,将制成的薄片粘和在薄木板的两面,做成竹簧板;根据产品造型所需裁成片料或其他坯料,然后将这些片料或坯料上胶、拼接、捆绑、加压、成型后自然干成为半成品,这样完成了第一个步骤。
第二步是将坯子打磨平整,直至它呈现出象牙般的本色后,便进入绘画雕刻程序。刻工根据需要画出精细的人物、花鸟、山水、走兽或装饰图案,以及各种书体的诗文绝句来装饰器物,随后就是雕刻。由于阴刻的技法近似于中国画墨线的表现手段,既简洁高雅又便于雕刻,所以竹簧工艺品大多是用阴刻手法完成。其他还有浅浮雕、高浮雕、透雕、腐蚀雕及火烙,添加墨色、墨绿色和国画颜料等装饰手法,要求神形兼备,意境深远,以刀代笔,柔中见刚。第三步是细心打磨抛光,刮铲打蜡,喷漆包装,到这时整个流程才算完成。
“竹簧工艺的主要原料遍及湖湘,楠竹可谓是取之不尽,竹簧工艺这一传统民间艺术深受广大民众的喜爱。”李智勇深情地说,“竹簧工艺具有鲜明的中国元素,高雅丰富的艺术内涵,满足了一代又一代人的精神生活需要,竹簧工艺如果在我们这一代人手中失传,真的可惜啊!”
普通仙人掌是热带沙漠仙人掌。喜砂石土壤。多能自己直立,成柱状、掌状。常有倒钩小刺,结果有刺。
火龙果是中美洲热带雨林仙人掌。超过一米后无法直立,只能攀援树木,可无限拓展。扎根在腐叶土浅层,喜肥水。成三棱柱状,刺粗短少,结果无刺。需要下垂枝条才能结果。
长见识了吧?火龙果其实刺比较少,可以采摘的。
如果用火龙果的种子种植,可以种出一片多肉森林。
仙人掌果实。