三个灵感闪现的 JS 实验,正向和逆向思维齐活了

灵感闪现

某天,正在认真的敲代码,看着刚刚写下的这行代码,突发奇想,如果逆向思维去写这行代码会是什么结果。

「一生二,二生三」,我从一行代码联想到数行 JS 代码,何不试试看?

于是,接下来的故事,顺其自然的发生了。接下来的文字,也自然而然的被创作了出来。

文章速读

本文从正向和逆向两个不同的思维点出发,实验了几个不同 JS 功能。

阅读文章,可以有以下收获:

JS 实验开始

includes 不是一劳永逸的法子?

编程欢乐小剧场

一:年轻人,为何唉声叹气。

某:代码改漏了,太不严谨了。

一:哪里,我看看。

某:这里,表单里新增一个表单项,结果条件判断漏加了。

一:确实,分散的条件判断就会有漏改的风险。

某:有改善的方法不。

一:当然。

某:键盘奉上。

一种情况

合并多个条件判断,是使用 includes 最常见的用法。

如下的功能中,需要判断输入的字符串是否包含作者自己的名字。

function func(name) {if (name === 'ye' || name === 'yi') {return 'self';}return 'other';
}
let nameStr = 'zhang';
let res = func(nameStr);
console.log(res); // 'other' 

如果再增加一个判断,是否有作者好友的名字。条件会不断增加,不优雅且容易漏掉。

includes 判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false。

function func(name) {let list = ['ye', 'yi', 'shang', 'ying', 'yan'];if (list.includes(name)) {return 'self';}return 'other';
}
let nameStr = 'shang';
let res = func(nameStr);
console.log(res); // 'self' 

只需要维护 list 数组即可,不需要不停增加判断条件。这个功能用法还挺常见常用的。

但是用了它,不代表代码可以一劳永逸,因为还有一种情况,不仅增加了判断条件,还增加了条件中

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值