JavaScript代码技巧:动态正则、数字补零与数组操作

0 下载量 70 浏览量 更新于2024-08-30 收藏 43KB PDF 举报
本文主要介绍了JavaScript中的一些实用代码片段,包括动态构建正则表达式、数字补零、取数组最大和最小值、生成随机字符串、获取时间戳以及字符串格式化的技巧。 1. 动态构建正则表达式: 在JavaScript中,我们可以利用`new RegExp()`构造函数动态创建正则表达式。例子中的代码源自sizzle库,通过组合`Expr.match[type].source`和一个额外的检查避免了字符转义问题。这个检查表达式`(/(?![^\[]*\])(?![^\(]*\))/.source)`用于确保正则表达式不会意外地捕获括号内的内容。 2. 更灵活和巧妙的数字补零: 这个`prefixInteger`函数使用了数学和字符串操作来实现数字补零。它将数字除以10的指定次幂,然后使用`toFixed(length)`四舍五入到指定长度,并通过`substr(2)`去除前导的“0.”,达到补零的效果。 3. 取数组的最大和最小值: 使用`Math.max.apply()`和`Math.min.apply()`可以轻松地找到数组中的最大值和最小值。将Math对象作为上下文传递,并传入数组作为参数,可以对数组的所有元素执行这些函数。 4. 生成漂亮的随机字符串: `Math.random().toString(16).substring(2)`生成一个8位的十六进制随机字符串,而`Math.random().toString(36).substring(2)`生成一个16位的包含大小写字母和数字的字符串。这种方法基于随机数生成器,可以用于创建唯一标识或模拟随机数据。 5. 获取时间戳: 通常,我们使用`new Date().getTime()`获取当前时间的时间戳,但文章提供了一个更简洁的方法:`Number(new Date)`。这将Date对象转换为数字,即时间戳。 6. 转换为数值并取整: 通过使用按位或运算符`|0`,可以将任何数值(如浮点数)转换为其整数部分。例如,`'3.1415926'|0`将返回3。 7. 字符串格式化: `format`函数是一个自定义的字符串格式化方法,它可以替换占位符(如`{0}`,`{1}`等)为传入的参数值。它使用正则表达式匹配占位符,并根据索引替换为对应的参数值。这个功能类似于C#或Java中的`String.Format`方法。 以上代码片段展示了JavaScript的灵活性和实用性,它们可以在日常开发中提高代码效率和可读性。