JavaScript 的内置变量包含了诸如 undefined
、null
、NaN
、Infinity
、globalThis
等。这些变量拥有特殊的含义和用途。例如,undefined
表示未定义的值,经常用来检查变量是否已赋值。null
是一个表示无值的特殊关键字,常用来初始化变量,以便后续可以赋予其对象值。- NaN
意为“不是一个数字”(Not a Number),它是一个特殊的数值,用于表示无法表示为数字的运算结果。
一、UNDEFINED 和 NULL
undefined
和 null
在JavaScript中都表示缺少值,但它们在使用中有着细微的差别。undefined
是变量声明后的默认值,但未赋予任何值时的状态。当在对象中访问一个不存在的属性或者调用函数没有返回值时,也会得到undefined
。
相比之下,null
是一个表示“无”的对象,它通常被认为是一个空的或不存在的对象引用。当设计代码时,可以用null
来表示某个变量应该持有对象值,但当前并未持有。
在JavaScript类型转换中,undefined
和null
有时可以互换,尤其是在非严格比较(使用==
而非===
)的情况下,这两者被认为相等,因为它们都表示一种无值的状态。
二、NAN 和 INFINITY
接下来介绍的内置变量是代表特殊数值的 NaN
和 Infinity
。NaN
是一个表示某个结果无法用数字表示的特殊值,如0除以0或字符串减数字等非法运算。不同于其他值,NaN
跟任何值包括它自己不相等(即NaN !== NaN
),因此存在isNaN()
函数来检查一个值是否为NaN
。
另一个特殊数值是 Infinity
,这个值代表比所有其他数值都大的无穷大数值。在数值溢出(如太大无法表示)时通常会得到Infinity
。与NaN
一样,Infinity
也是一个全局对象的属性,意味着它是全局作用域中的一个变量。
三、GLOBALTHIS
globalThis
提供了一个标准的方式来获取不同JavaScript环境下的全局对象,比如在浏览器环境中是window
,Node.js中是global
。在JavaScript早期,为了引用全局对象需要根据执行环境使用不同的全局变量名,如window
、self
或者this
,而globalThis
使得访问全局对象变得统一和简单。
四、其他内置对象和关键字
除了上述讨论的几个内置变量,JavaScript还有一系列预定义的对象和原始值,如Math
、Date
、Array
、Object
等。这些对象提供了丰富的方法和属性来实现JavaScript语言的核心功能。同时,JavaScript还有像true
、false
、this
等关键字,它们在语言中起着特别的作用。
JavaScript中的全局变量和内置对象是编程时不可或缺的一部分,它们提供了基础的功能支持。了解这些变量和对象的工作原理对于写出有效、灵活的代码至关重要。
相关问答FAQs:
什么是 Javascript 的内置变量?
Javascript 的内置变量指的是已经在 Javascript 语言中预定义好的变量。它们可以直接在代码中使用,无需额外定义或引入。
Javascript 中常见的内置变量有哪些?
Javascript 中有很多内置变量,常见的有:Math
、Date
、String
、Number
、Array
、Object
等。它们分别用于数学计算、日期时间处理、字符串操作、数字操作、数组操作以及对象操作。
这些内置变量有什么作用?
这些内置变量可以帮助开发人员更方便地进行程序开发,简化了一些常用操作的编写过程。例如,String
类型的内置变量提供了许多字符串操作的方法,如截取子字符串、连接字符串、查找特定字符等;Math
类型的内置变量可以进行数学计算,如获取某个数的绝对值、计算平方根等。通过使用这些内置变量,可以提高代码的可读性和开发效率。