JavaScript中的全局对象和变量
JavaScript 是一门非常强大的编程语言,它提供了许多全局对象和变量,以便于在整个应用程序中共享数据和功能。本文将详细介绍 JavaScript 中的全局对象和变量,包括全局对象、全局变量、全局函数以及它们的用途和示例。
1.全局对象
JavaScript 中有一些全局对象,它们在整个应用程序中都可用。这些全局对象提供了许多有用的功能和方法。下面是一些常见的全局对象:
1.1 window对象
window 对象是浏览器环境中的全局对象,它代表浏览器窗口。虽然通常可以省略 window 关键字,但它用于访问全局对象的属性和方法。
window.alert("Hello, World!"); // 显示警告框
var result = window.confirm("Are you sure?"); // 显示确认框
var name = window.prompt("What's your name?"); // 显示输入框
1.2 console对象
console 对象提供了在控制台中打印信息的方法,用于调试和记录日志信息。
console.log("This is a log message.");
console.error("This is an error message.");
console.warn("This is a warning message.");
1.3 Math对象
Math 对象包含了一组用于执行数学操作的方法和常量。这些方法允许你进行数学计算,如取绝对值、四舍五入、生成随机数等。
var x = Math.abs(-5); // 返回 5
var y = Math.round(3.6); // 返回 4
var z = Math.random(); // 返回 0 到 1 之间的随机小数
1.4 Date对象
Date 对象用于处理日期和时间。你可以创建日期对象、获取日期的各个部分以及执行日期运算。
var today = new Date();
var year = today.getFullYear(); // 获取年份
var month = today.getMonth(); // 获取月份(0 到 11)
var day = today.getDate(); // 获取日期
1.5 其它对象
- Global对象:Global对象是JavaScript的全局作用域对象,包含了所有全局变量和函数。在浏览器中,它等同于window对象;在Node.js中,它是global对象
- RegExp对象:RegExp对象用于定义正则表达式,用于字符串的搜索、替换等操作
2.全局变量
2.1 undefined变量
undefined 变量表示未定义的值。当声明变量但没有给它赋值时,它的值为 undefined。
var x;
console.log(x); // 输出 undefined
2.2 NaN变量
NaN 变量表示 “Not-a-Number”,通常用于表示数学运算无法生成有效数字的结果。
var result = "Hello" / 2;
console.log(isNaN(result)); // 输出 true
2.3 Infinity和 -Infinity变量
Infinity 和 -Infinity 变量表示正无穷大和负无穷大。
var positiveInfinity = Infinity;
var negativeInfinity = -Infinity;
2.4 null变量
null 变量表示空值,通常用于初始化变量,表示该变量没有值。
var person = null; // 表示 person 变量没有值
3.全局函数
3.1 parseInt()和parseFloat()函数
parseInt() 函数用于将字符串转换为整数,而 parseFloat() 函数用于将字符串转换为浮点数。
var num1 = parseInt("42"); // 返回整数 42
var num2 = parseFloat("3.14"); // 返回浮点数 3.14
3.2 isNaN()函数
isNaN() 函数用于检查一个值是否为 NaN(Not-a-Number)。
var result1 = isNaN("Hello"); // 返回 true
var result2 = isNaN(42); // 返回 false
3.3 isFinite()函数
isFinite() 函数用于检查一个值是否为有限数。
var result1 = isFinite(42); // 返回 true
var result2 = isFinite(Infinity); // 返回 false
3.4 decodeURI()和encodeURI()函数
decodeURI() 函数用于解码 URI,而 encodeURI() 函数用于对 URI 进行编码。
var uri = "https://www.example.com?name=John Doe";
var encodedURI = encodeURI(uri);
var decodedURI = decodeURI(encodedURI);