JavaScript 常用内置对象详解:URI、Math与Eval
本文讲解 JavaScript 中常用的内置对象,包括用于 URI 编码的两个核心方法、执行字符串代码的 eval() 函数,以及提供丰富数学运算功能的 Math 对象,帮助用户处理数据格式化、逻辑执行和复杂计算。
URI 编码方法
在 Web 开发中,对统一资源标识符(URI)进行编码是确保数据传输安全与准确的重要步骤。JavaScript 提供了两个主要方法:
encodeURI():主要用于编码完整的 URI。它不会对原本属于 URI 的特殊字符进行编码,例如冒号(:)、正斜杠(/)、问号(?)、井号(#)等,保持 URI 结构的完整性。encodeURIComponent():用于编码 URI 中的某个片段(如查询参数)。它会针对所有非标准字符进行编码,因此更适合用于处理 URL 中的参数值,因为它会将特殊符号全部转义。
eval() 方法解析
eval() 是一个全局函数,用于将参数字符串当作 JavaScript 代码来解释并执行。虽然功能强大,但由于涉及动态代码执行,可能带来安全风险或性能问题,使用时需谨慎。
以下示例演示了如何将包含变量赋值的字符串传递给 eval:
var msg = "hello world";
eval("alert(msg)"); // 执行后会弹出警告框显示 "hello world"
Math 对象的功能与应用
Math 对象提供了一系列静态属性和方法,用于执行常见的数学运算。这些方法无需实例化即可直接调用。
常用数学常数与基础运算
Math 对象内置了若干重要的数学常数:
Math.E:自然对数的底数 e 的值(约 2.718)。Math.PI:圆周率 π 的值(约 3.14159)。Math.SQRT2:2 的平方根(约 1.414)。
除了常数,Math 还提供了一系列函数用于数值计算:
Math.abs(num):返回数值num的绝对值。Math.exp(num):返回 e 的num次幂(e^num)。Math.log(num):返回num的自然对数。Math.pow(num, n):返回num的n次幂。Math.sqrt(num):返回num的平方根。
此外,还包括三角函数相关方法:Math.cos(x)(余弦)、Math.sin(x)(正弦)、Math.tan(x)(正切),以及反三角函数:Math.acos(x)(反余弦)、Math.asin(x)(反正弦)、Math.atan(x)(反正切)。
获取最大值与最小值
当需要在一组数值中寻找极值时,可以使用 Math.max() 和 Math.min()。注意这两个方法通常接受多个独立参数,而非数组对象(除非使用展开运算符)。
// 找出最大值
var max = Math.max(3, 45, 67, 32);
console.log(max); // 输出: 67
// 找出最小值
var min = Math.min(2, 46, 74);
console.log(min); // 输出: 2
数值舍入到整数
在处理精度要求不高的场景下,常需将小数转换为整数。Math 对象提供了三种不同的舍入策略:
Math.ceil():向上舍入,即取大于或等于参数的最小整数。Math.floor():向下舍入,即取小于或等于参数的最大整数。Math.round():四舍五入,根据小数部分决定舍入方向。
以数值 25.x 为例的表现如下:
alert(Math.ceil(25.1)); // 26
alert(Math.ceil(25.5)); // 26
alert(Math.ceil(25.9)); // 26
alert(Math.round(25.1)); // 25
alert(Math.round(25.5)); // 26
alert(Math.round(25.9)); // 26
alert(Math.floor(25.1)); // 25
alert(Math.floor(25.5)); // 25
alert(Math.floor(25.9)); // 25
生成随机数
Math.random() 方法返回一个介于 0(包含)和 1(不包含)之间的伪随机浮点数。若需要在特定范围内生成整数随机数,可结合 Math.floor() 使用以下公式:
随机整数 = Math.floor(Math.random() * (max - min + 1)) + min
以下封装了一个辅助函数 selectFrom,用于生成指定范围 [lowerValue, upperValue] 内的随机整数:
function selectFrom(lowerValue, upperValue) {
var count = upperValue - lowerValue + 1;
return Math.floor(Math.random() * count + lowerValue);
}
var num = selectFrom(2, 10);
console.log(num); // 输出介于 2~10 之间的整数(含 2 和 10)
以上就是 JavaScript 内置对象中 URI、Math 及 Eval 的详细内容,更多关于 JavaScript 基础教程的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













