JavaScript 常用内置对象详解:URI、Math与Eval

南乔
南乔
发布时间:2026-10-15| 6人浏览过
原创

本文讲解 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 基础教程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。