js语句简写大全
创始人
2024-02-15 06:57:10
0
  • 取整(不四舍五入)
~~a
或
a|0
  • 取整(四舍五入)
a+.5|0
  • 布尔值
!0 // true!!0  // false
  • 字符串连接
''.concat(a, b, c)
  • 日期转数值

```javascript
let time = +new Date();
  • 条件判断给变量赋布尔值
if (name === 'XX') {flag = true;
} else {flag = false;
}// 等价于
flag = name === 'XX';
  • 三元表达式
if (name === 'XX') {age = 20;
} else {age = 18;
}// 等价于
age = name === 'XX' ? 20 : 18;
  • 判断长度不为0
if (arr.length !== 0) {}// 等价于
if (arr.length) {}
  • 判断长度为0
if (arr.length === 0) {}// 等价于
if (!arr.length) {}
  • includes简化同一条件多种结果判断(个人比较喜欢用)
if (a === 1 || a === 2 || a === 3 || a === 4) {}// 等价于
if ([1, 2, 3, 4].includes(a)) {}
  • || 短路运算符设置默认值
let name = person.name || 'XX'
  • && 短路运算符防止对象不存在报错
let name = person && person.name;// 等价于
let name = person?.name;
  • 结构赋初始值
function setData({ a, b = 2 }) {this.a = a;this.b = b;
}
  • Object.keys()获取对象键名
let obj = {a: 1,b: 2
};let keys = Object.keys(obj); // ['a', 'b']
  • Object.values()获取对象键值
let obj = {a: 1,b: 2
};let keys = Object.values(obj); // [1, 2]
  • forEach()方法遍历数组,不返回新数组
arr.forEach((item, index) => {item.name = 'XX';
});
  • filter()过滤数组,返回新数组
   let newArr = arr.filter((item, index) => index > 2);
  • map()对数组中的所有元素批量处理,返回新数组
let newArr = arr.map(item => {return Object.assign({}, item, { name: 'XX' });
})
  • some()是否有满足条件的元素,返回布尔值
let flag = arr.some((item, index) => item.name === 'XX');
  • every()数组中的每项是否都满足条件,返回布尔值
let flag = arr.every((item, index) => !!item.name);
  • reduce()对数组中的每一项执行提供的reducer函数,最后返回汇总结果
let sum = [1, 2, 3, 4, 5].reduce((acc, current) => {return acc + current;
}, 0);
  • 条件判断语句
// before method
if (color === 'red') {switchRedColor();
} else if (color === 'grey') {switchGreyColor();
} else if (color === 'yello') {switchYellowColor();
} else if(color === 'white') {switchWhiteColor();
}// after method1
switch(color) {case 'red':switchRedColor();break;case 'grey':switchGreyColor();break;case 'yello':switchYellowColor();break;case 'white':switchWhiteColor();break;
}// after method2
const colors = {'red': switchRedColor,'grey': switchGreyColor,'yellow': switchYellowColor,'white': switchWhiteColor
};for (color in colors) {colors[color]();
}// after method3
const colors = new Map([['red', switchRedColor],['grey', switchGreyColor],['yellow', switchYellowColor],['white', switchWhiteColor]
]);for (color in colors) {colors[color]();
}
  • 检查对象是否有某属性
let obj = {name: 'kingX'
};if (obj[name]) {}obj.hasOwnProperty('name');  // true
'name' in obj  // trueobj.hasOwnProperty('valueOf')  // false
'valueOf' in obj  // true
  • 使用indexOf实现contains功能
arr.indexOf(text) > -1// 等价于
arr.includes(text)// 等价于
~~!arr.indexOf(text)
  • 获取DOM元素在父类中的索引
function getIndex(ev) {let ev = ev || event;let target = ev.target;return [].indexOf.call(document.querySelectorAll('li'). target); // 1
}

相关内容

热门资讯

李世纬:币圈KOL刑事法律风险... 厚积薄发 启行千里 2025年12月5日,中国互联网金融协会联合六大行业协会重磅发布《关于防范涉虚...
北京市卫健委答复“女律师体检争... DoNews12月16日消息,据新华财经消息,近日北京市卫生健康委员会向“体检10年未查出癌症”当事...
广西柳城警方通报:马山镇发生一... 12月16日,广西柳城县公安局发布警情通报,全文如下:
以《条例》为遵循 锻造坚强有力... 近日,中共中央印发修订后的《中国共产党工作机关条例》(以下简称《条例》),这是健全党的领导制度体系、...
社区打造“民事诊所”调解平台 ... 山西晚报·山河+讯(记者 李婷)12月15日,山西晚报·山河+记者从太原市万柏林区了解到,为践行新时...
流动调解桌巧解千家难 “他家孩子半夜还在蹦跳,我们老人实在熬不住。”“总不能把孩子绑起来不让动吧?”12月10日清晨,乌鲁...
简·奥斯丁诞辰250周年|女性... 如今我们翻看简·奥斯丁的小说,会发现她始终书写着同一类人、同一种生活,却制造出了截然不同的阅读体验。...
柳城警方通报“致2人死亡刑事案... 广西柳城警方12月16日通报:2025年12月11日,柳城县马山镇发生一起刑事案件致2人死亡。犯罪嫌...
马来西亚:TikTok、Ins... IT之家12月16日消息,据彭博社报道,自 2026 年 1 月 1 日起,TikTok、Insta...
临沂市国动办开展“我为基层解难... 鲁网12月16日讯为深入贯彻党的群众路线,普及推广人防法律法规知识和惠民政策,根据模范机关建设工作要...