JavaScript是一门神奇的语言,它的一些特性是不可预知的,但它的简单性和灵活性也让人上瘾。一些功能逻辑按照常规思维可能需要很多代码,但是利用一些API和语法特性,只需要一行代码就可以完成!本文简单罗列一些常用的单行代码,希望对你有用。1.获取随机布尔值(true/false)Math.random()会返回一个0到1之间的随机数,所以可以根据返回值是否小于0.5来返回一个随机布尔值。constrandomBoolean=()=>Math.random()>=0.5;console.log(randomBoolean());2。反转字符串结合数组反转方法可以反转字符串:constreverse=str=>str。split('').reverse().join('');reverse('helloworld');//Result:'dlrowolleh'3.数组去掉常见面试题的重复,偷懒的方法是用Set。letremoveDuplicates=arr=>[...newSet(arr)];console.log(removeDuplicates(['foo','bar','bar','foo','bar']));//['foo','bar']4.判断浏览器Tab窗口是否为活动窗口使用document.hidden属性判断浏览器窗口是否可见(当前活动窗口)。constisBrowserTabInView=()=>document.hidden;isBrowserTabInView();5.判断小学数学题的奇偶数,直接用%2判断即可:constisEven=num=>num%2===0;console.log(isEven(2));//Result:trueconsole.log(isEven(3));//结果:false6.获取日期对象的时间部分日期对象的.toTimeString()方法可以获取时间格式的字符串,截取前面部分即可:consttimeFromDate=date=>date.toTimeString().slice(0,8);console.log(timeFromDate(newDate(2021,0,10,17,30,0)));//结果:"17:30:00"console.log(timeFromDate(newDate()));//结果:将记录当前时间7。小数点数字截断如果需要截断浮点数的小数位(不是四舍五入),可以使用Math.pow()来实现:consttoFixed=(n,fixed)=>~~(Math.pow(10,fixed)*n)/Math.pow(10,fixed);//ExamplestoFixed(25.198726354,1);//25.1toFixed(25.198726354,2);//25.19toFixed(25.198726354,3);//25.198toFixed(25.198726354,4);//25.1987toFixed(25.198726354,5);//25.19872toFixed(25.198726354,6);//25.1987toFixed(25.198726354,6);constelementIsInFocus=(el)=>(el===document.activeElement);elementIsInFocus(anyElement)9.判断当前环境是否支持触摸事件consttouchSupported=()=>{('ontouchstart'inwindow||window.DocumentTouch&&documentinstanceofwindow.DocumentTouch);}console.log(touchSupported());10.判断是否为苹果设备constisAppleDevice=/Mac|iPod|iPhone|iPad/.test(navigator.platform);console。日志(是AppleDevice);11.滚动到页面顶部。window.scrollTo()方法接受x和y坐标参数,用于指定滚动目标位置全部设置为0,可以回到页面顶部。注意:IE不支持.scrollTo()方法。constgoToTop=()=>window.scrollTo(0,0);goToTop();12.averagereduce的典型应用场景:数组求和。constaverage=(...args)=>args.reduce((a,b)=>a+b)/args.length;average(1,2,3,4);//结果:2.5【编辑推荐】自动化运维基石CMDB开发大数据Hadoop开发系列视频课程(HDFS+Sqoop+Hive)Kafka开发实战教程物联网网关开发:基于MQTT消息总线的设计流程(下)2021年Java开发者生产力报告
