18个JavaScript特性技巧~

本文介绍了一系列提高JavaScript编程效率的小技巧,包括循环优化、数组操作、函数参数管理等,旨在帮助开发者编写更加简洁高效的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 短循环:

在一行当中缩短循环,为循环编写更少的代码

var names=[ 'xinyu', 'xinyuya', 'xinyuyou' ]
原代码:
for( var i=0;i<names.length;i++ ){ 
    console.log( names[i] )
}
缩短代码后:
for ( let name of names ) console.log( name )

2. 调整一个数组的长度

长度不仅用于获取数组的大小 如果我们将数组的长度设置为任意数字 它将对数组进行切片

var array1=[ 1,2,3,4,5,6 ]
var array2=[ 'xinyu','xinyuya','xinyuyou' ]
array1.length=3
array2.length=1
console.log( array1 )// [1,2,3]
console.log( array2 )// ['xinyu']

3. 函数参数

不需要定义函数参数,可以将函数用作数组对象,而无需在函数实现时声明参数

function add( ){
    var sum=0;
    for( var i=0;i<arguments.length;i++ ){
         sum=sum+arguments[i]
    }
     console.log( 'Total Sum :',sum )// Total Sum : 9
}
add( 1,3,5 )

4. JavaScript 中的时间戳

在JavaScript中我们有很多方法可以使用Date方法来获取日期

var date=new Date()
timetamp=date.getDate()
console.log( timetamp )

timetamp=new Date().getDate()
console.log(timetamp)

timetamp+=new Date()
console.log( timetamp )

5. 删除数组中的一个值

通常 我们使用delete方法从数组中删除一个项目,但这就是在阵列中打孔的方法,它将undefined放在删除项目索引上

可以使用splice方法做一些工作,但它会从数组中完全删除索引,而不会留下任何漏洞

var array=[ 1,2,3,4,5 ]
delete array[4]
array.splice(4,1)
console.log( array ) // [ 1,2,3,4,5 ]

6. JavaScript中的IN运算符

通过使用IN运算符,你可以检查对象中是否存在键,当你检查对象中是否存在特定键时 请使用以下技巧

var a=4;
var b=5;
var list={ 1:7, 3:9, 4:0, 2:9 }
console.log( a in list ) // true
console.log( b in list ) // false

7. JavaScript字符串填充

JavaScript填充用在字符串文本中添加,可以在字符串的开头或结尾添加填充

以下是padStartand的语法padEnd

padStart( targetLength,padString(optional))
padEnd( targetLength,padString(optional))

padString是两种padding方法中的可选参数

以下是理解他们工作的代码示例

console.log('123'.padStart(5)) // 123
console.log('123'.padStart(5,'0')) // 00123
console.log('123'/padEnd(5,'0')) // 12300
console.log('123'.padEnd(10,'0)) // 1230000000

8. Power ** 运算符

此功能将节省大量数学计算时间,你可能使用Math.pow()函数来计算数字的幂

但我们可以使用 ** 运算符代替它

原:
var p=Math.pow( 2,5 )
console.log( p ) // 32
现:
var p=2**5
console.log( p ) // 32

原:
var p = Math.pow(2,5) + Math.pow(2,5) + Math.pow(2,1) + Math.pow(2,3) + Math.pow(2,4) + Math.pow(2,9)
console.log(p) // 602
现:是不是更简洁清晰明了捏?
var p=2**5 + 2**5 + 2**1 + 2**3 + 2**4 + 2**9
console.log(p) // 602

9. includes()

大多数人都用indexOf在数组中查找元素是叭?

No,

有更好的方法来做同样的工作,

使用includes方法而不是indexOf返回布尔值的结果

var array=[ 'xinyu','xinyuya','xinyuyou' ]
console.log( array.includes( 'xinyuya' ) // true
console.log( array.includes( 'xin' ) // false

10.重定向到URL

JavaScript有一些方法可以再执行代码后 将重定向到浏览器中的网站

当用户在网站上执行任何操作并且JavaScript将用户重定向到另一个URL时,


const Redirect = (url, asLink = true) => asLink ? (window.location.href = url) : window.location.replace(url);
redirect('https://medium.com/@codedev101')

11. 一元运算符(+)

一元运算符可以方便的将字符串数字转换为数字格式 并将日期转换为毫秒

var strNum ='123.3'
var num=+strNum
console.log( num ) // 123.3
var currentDate=new Date()
var millisSince=+currentDate
console.log(millisSince)

12. 将浮点数转换为整数(快速方法)

要将浮点数转换为整数 必须使用Math.floor()   Math.round() 和 Math.ceil()方法

还可以使用 | 按拉OR运算符以更快的方式进行转换

原:
console.log(Math.floor(23.56))
现:
console.log( 23.56|0 )

13. 求和 最大值 最小值

const xinyuArr=[1,2,3,4,5,6]
//求和
xinyuArr.reduce((a,b)=>a+b)  // 21
//最大值
xinyuArr.reduce((a,b)=>a>b?a:b) // 6
//最小值
xinyuArr.reduce((a,b)=>a<b?a:b) // 1

14. 对字符串 数字 进行排序

// 排序字符串数组
const xinyuArr=['x','i','n','y','u','y','a']
xinyuArr.sort()  // ["a", "i", "n", "u", "x", "y", "y"]
xinyuArr.reverse() // ["y", "y", "x", "u", "n", "i", "a"]

// 排序数字数组
const xinyuArr=[32,343,56,778,1090]
xinyuArr.sort((a,b)=>a-b)  // [32, 56, 343, 778, 1090]
xinyuArr.sort((a,b)=>b-a)  // [1090, 778, 343, 56, 32]

15. 从数组中过滤出虚假值

const xinyuArr=[3,5,2,43434,'',false,undefined,null,0]
xinyuArr.filter(Boolean) // [3, 5, 2, 43434]

16.  删除重复值

const xinyuArr=[1,23,32,32,33,45657,6,7]

xinyuArr.filter((item,index,arr)=>arr.indexOf(item)===index) 

// [1, 23, 32, 33, 45657, 6, 7]

17. 单行回文检查

function xinyuya(str){
    return str==str.split('').reverse().join('')
}
xinyuya('xinyuya')  // false
xinyuya('xinnix')   // true

18.  将Object 转成 Array

const xinyuObject={a:1,b:2,c:3}

Object.entries(xinyuObject)
// [Array(2), Array(2), Array(2)]
// 0: (2) ["a", 1]
// 1: (2) ["b", 2]
// 2: (2) ["c", 3]
// length: 3

Object.keys(xinyuObject) // ["a", "b", "c"]

Object.values(xinyuObject) // [1,2,3]

19. 还有很多吧~如果你有很多像上边的这些小技巧 可以在评论区告诉我呦  我们可以一起学习下~

over  

如果对你有帮助  请点个赞鼓励下哦~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值