在前端开发中,全局对象是一个非常重要的概念。它可以让我们在任何地方都能够访问到一些通用的方法和属性,比如 console、setTimeout 等。在 ES2021 中,新增了一个 “globalThis” 对象,可以让我们更加方便地访问全局对象。本文将介绍 “globalThis” 对象和其他全局对象,并提供一些示例代码。
“globalThis” 对象
在以前的 JavaScript 版本中,全局对象的名称是不确定的。在浏览器中,它通常被称为 “window” 对象;在 Node.js 中,它通常被称为 “global” 对象。这种不确定性给跨平台开发带来了很多麻烦,因为我们需要编写不同的代码来访问全局对象。
为了解决这个问题,ES2021 引入了一个新的全局对象 “globalThis”。它可以在任何平台上使用,并且始终指向全局对象。这样,我们就可以使用统一的方式来访问全局对象。
下面是一个例子,展示了如何使用 “globalThis” 对象来访问全局对象:
// 在浏览器中 console.log(globalThis === window); // true // 在 Node.js 中 console.log(globalThis === global); // true
其他全局对象
除了 “globalThis” 对象之外,JavaScript 中还有许多其他的全局对象,比如:
1. console
console 对象提供了一些方法,可以在控制台中输出信息。比如,console.log() 方法可以输出一个普通的日志信息。
console.log('Hello, world!');
2. setTimeout 和 setInterval
setTimeout 和 setInterval 方法可以用来设置定时器,让代码在一定时间后执行。setTimeout 方法只会执行一次,而 setInterval 方法会一直执行,直到我们手动停止它。
-- -------------------- ---- ------- -- - ---- ------- ------- ------------- -- - ------------------- --------- -- ------ -- -- - ------- --- ----- - -- ----- ---------- - -------------- -- - ------------------- -------- -- ------ -- ----- --------------------------
3. Math
Math 对象提供了一些数学运算方法,比如 Math.abs() 方法可以计算一个数的绝对值。
console.log(Math.abs(-123)); // 123
4. Date
Date 对象可以用来处理日期和时间。比如,我们可以使用 Date.now() 方法来获取当前时间戳。
console.log(Date.now()); // 1628368754876
结论
全局对象是 JavaScript 开发中非常重要的一个概念。在 ES2021 中,新增了一个 “globalThis” 对象,可以让我们更加方便地访问全局对象。此外,JavaScript 中还有许多其他的全局对象,比如 console、setTimeout 和 setInterval 等。我们需要熟练掌握这些全局对象,并合理地使用它们来提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674416b6f3dd653032a29b27