范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

20条javaScript示例代码让你的代码更简洁

  1.通过条件判断给变量赋值布尔值的正确姿势  // bad if (a === "a") {     b = true } else {     b = false }  // good b = a === "a"  2.在if中判断数组长度不为零的正确姿势// bad if (arr.length !== 0) {     // todo }  // good if (arr.length) {     // todo }  3.同理,在if中判断数组长度为零的正确姿势// bad if (arr.length === 0) {     // todo }  // good if (!arr.length) {     // todo }  4.简单的if判断使用三元表达式// bad if (a === "a") {     b = a } else {     b = c }  // good b = a === "a" ? a : c  5.使用includes简化if判断// bad if (a === 1 || a === 2 || a === 3 || a === 4) {     // todo }  // good let arr = [1, 2, 3, 4] if (arr.includes(a)) {     // todo }
  巧用数组方法,尽量避免用for循环 6.使用some方法判断是否有满足条件的元素// bad let arr = [1, 3, 5, 7] function isHasNum (n) {     for (let i = 0; i < arr.length; i ++) {         if (arr[i] === n) {             return true         }     }     return false }  // good let arr = [1, 3, 5, 7] let isHasNum = n => arr.some(num => num === n)  // best let arr = [1, 3, 5, 7] let isHasNum = (n, arr) => arr.some(num => num === n)  7.使用forEach方法遍历数组,不形成新数组// bad for (let i = 0; i < arr.length; i ++) {     // todo     arr[i].key = balabala }  // good arr.forEach(item => {     // todo     item.key = balabala })  8.使用filter方法过滤原数组,形成新数组// bad let arr = [1, 3, 5, 7],     newArr = [] for (let i = 0; i < arr.length; i ++) {     if (arr[i] > 4) {         newArr.push(arr[i])     } }  // good let arr = [1, 3, 5, 7] let newArr = arr.filter(n => n > 4) // [5, 7]  9.使用map对数组中所有元素批量处理,形成新数组// bad let arr = [1, 3, 5, 7],     newArr = [] for (let i = 0; i < arr.length; i ++) {     newArr.push(arr[i] + 1) }  // good let arr = [1, 3, 5, 7] let newArr = arr.map(n => n + 1) // [2, 4, 6, 8]
  巧用对象方法,避免使用for...in 10.使用Object.values快速获取对象键值let obj = {     a: 1,     b: 2 } // bad let values = [] for (key in obj) {     values.push(obj[key]) }  // good let values = Object.values(obj) // [1, 2]  11.使用Object.keys快速获取对象键名let obj = {     a: 1,     b: 2 } // bad let keys = [] for (value in obj) {     keys.push(value) }  // good let keys = Object.keys(obj) // ["a", "b"]
  巧用解构简化代码 12.解构数组进行变量值的替换// bad let a = 1,     b = 2 let temp = a a = b b = temp  // good let a = 1,     b = 2 [b, a] = [a, b]  13.解构对象// bad setForm (person) {     this.name = person.name     this.age = person.age  }  // good setForm ({name, age}) {     this.name = name     this.age = age  }  14.解构时重命名简化命名
  有的后端返回的键名特别长,你可以这样干 // bad setForm (data) {     this.one = data.aaa_bbb_ccc_ddd     this.two = data.eee_fff_ggg } // good setForm ({aaa_bbb_ccc_ddd, eee_fff_ggg}) {     this.one = aaa_bbb_ccc_ddd     this.two = eee_fff_ggg }  // best setForm ({aaa_bbb_ccc_ddd: one, eee_fff_ggg: two}) {     this.one = one     this.two = two }  15.解构时设置默认值// bad setForm ({name, age}) {     if (!age) age = 16     this.name = name     this.age = age  }  // good setForm ({name, age = 16}) {     this.name = name     this.age = age  }  16.||短路符设置默认值let person = {     name: "张三",     age: 38 }  let name = person.name || "佚名"  17.&&短路符判断依赖的键是否存在防止报错"xxx of undfined"let person = {     name: "张三",     age: 38,     children: {         name: "张小三"     } }  let childrenName = person.children && person.childre.name  18.字符串拼接使用${}let person = {     name: "LiMing",     age: 18 } // bad function sayHi (obj) {     console.log("大家好,我叫" + person.name = ",我今年" + person.age + "了") }  // good function sayHi (person) {     console.log(`大家好,我叫${person.name},我今年${person.age}了`) }  // best function sayHi ({name, age}) {     console.log(`大家好,我叫${name},我今年${age}了`) }  19.函数使用箭头函数let arr [18, 19, 20, 21, 22] // bad function findStudentByAge (arr, age) {     return arr.filter(function (num) {         return num === age     }) }  // good let findStudentByAge = (arr, age)=> arr.filter(num => num === age)  20.函数参数校验// bad let findStudentByAge = (arr, age) => {     if (!age) throw new Error("参数不能为空")     return arr.filter(num => num === age) }  // good let checkoutType = () => {     throw new Error("参数不能为空") } let findStudentByAge = (arr, age = checkoutType()) =>     arr.filter(num => num === age)

中部地区的安徽应不应该供暖?我国的国土面积庞大,南北方气温差距非常明显,南方的天气在冬天也不会很冷,北方的天气在冬天非常冷,但是北方建筑都是有暖气供暖的。而地处中部的安徽就非常的尴尬,夏天热得要死,最高气温能美国互联网租衣平台RenttheRunway成功上市,市值11亿美元美国互联网租衣平台RenttheRunway于10月27日(周三)在纳斯达克开始交易,股票代码RENT。其IPO发行价定为每股21美元,位于此前给出的18至21美元的定价区间的上限美国大选,特朗普的大趋势,美国现实版纸牌屋美国总统特朗普,10月1日确诊新冠,但特朗普发推确诊是在10月2日,然后是10月3日,白宫医生肖恩康利承认特朗普2日3日两次血氧饱和度下降,最低93左右,使用了辅助供氧设备,使用激娱乐圈的财富自由与小舍得的人间焦虑今天被ZS的一爽一年6。4亿,每天206万,给惊到了,虽说这个时代,对于娱乐圈来说,已经是见怪不怪了。网上的大神也贴出了,阿里巴巴这一全球化的商业巨头才一年220爽,换算为人员比例芯片打工人想拿豪横年终奖?这些公司关注下文章来源集微网魔幻的2020年终于过去了,在新冠疫情贸易保护国际形势等诸多因素影响下,很多行业都受到了巨大冲击。春节临近,作为打工人,辛苦了一年,最关心的莫过于年终奖了。智联招聘2无性婚姻,你能坚持多久?无性婚姻,你能坚持多久?一男人50岁,28年前他结婚了,妻子勤俭持家,男人挣钱养家。5年后他妻子怀孕了,两人高兴的乐开了花,没想到的是同时也查出男人妻子感染有乙肝大三阳,并具有传染滥情的女人有3个习惯,男人早知道早好,吃亏的时候醒悟已晚在网上一直有人在提问,说滥情的女人,到底有哪些特征?可是评论区的回复,大部分都没有一个合理的答案,之所以问这个问题的人,基本上是认不清女人的现状!我听过一位过来人说过所谓花心,就是男女之间女人讨厌男人的3种追求方式,千万别去尝试,不然凉凉昨天下班后,和几个女性同事一起吃夜宵,我直接问了她们一个问题你们反感男人在追求中,那些方式?她们笑着回答说讨厌信息轰炸式,更讨厌查户口式问,特别是那种死缠烂打的男人,很是讨厌。后来年轻女人为何甘愿嫁给老男人?其实是有原因的,大部分是这样想的在网上一直有人讨论,说现代的女孩为何很偏向老男人?老男人似乎变得有点像是同义词,在以前的社会中,选择对象是有一定标准的,大部分都是在年龄之间差别不是很大,几乎才考虑结婚对象。如今的女人和你在一起时,总有这3个表现,说明她与其他男人有暧昧关系有人问女人玩暧昧到什么程度,才算变心?其实这个答案不纠结,当一个女人玩暧昧过当的第一秒开始,基本上就算变心了。有人可能会反驳我这说法,也有人认为,自己的老婆也经常和异性聊天,也没有夫妻生活女人痛恨男人的6个行为,没有男人反思过一直有人说这样的话题喜欢一个人的感觉是什么样的?我看到一个最亮的评论却说什么都介意却又什么都原谅!有时候感情的确是这样的,有时我们做错事了,明明是我们该使用我们的大脑时,而我们却用