JavaScript中的内置函数

JavaScript中的内置函数

本文解释了JavaScript中的内置函数。

YouTube Video

JavaScript中的内置函数

JavaScript 提供了多种内置函数,是高效创建程序的强大工具。在这里,我们将详细解释JavaScript中典型的内置函数。

什么是内置函数?

内置函数是JavaScript中标准提供的函数。这些函数旨在简洁地执行特定任务。程序员无需独立实现它们,从而提高了代码的可读性和可维护性。

代表性的内置函数

parseInt()

1// Convert string to integer
2console.log(parseInt("42"));      // Output: 42
3console.log(parseInt("42px"));    // Output: 42
4console.log(parseInt("0xF", 16)); // Output: 15
5console.log(parseInt("0xF"));     // Output: 15
6console.log(parseInt("px42"));    // Output: NaN
  • parseInt() 是一个解析字符串并将其转换为整数的函数。如果字符串的开头包含一个数字,则该部分将作为整数返回。还可以指定可选的基数(进制)。

  • 如果字符串开头不包含数字,则返回 NaN (非数字)。此外,如果未指定基数,则默认为十进制,但如果字符串以 "0x" 开头,则被理解为十六进制。

parseFloat()

1// Convert string to float
2console.log(parseFloat("3.14"));      // Output: 3.14
3console.log(parseFloat("3.14abc"));   // Output: 3.14
4console.log(parseFloat("42"));        // Output: 42
  • parseFloat() 是解析字符串并将其转换为浮点数的函数。当处理含有小数点的数字时会使用它。

  • parseInt() 类似,如果字符串开头不是数字,则返回 NaN。其特点是可以正确解析整数部分和小数部分。

isNaN()

1console.log(isNaN(NaN));         // Output: true
2console.log(isNaN(42));          // Output: false
3console.log(isNaN("hello"));     // Output: true
  • isNaN() 判断给定值是否为 NaNNaN (非数字)表示无效的数字值。

  • isNaN() 也适用于数字以外的数据类型。例如,如果字符串无法转换为数字,则返回 true

Number()

1console.log(Number("42"));        // Output: 42
2console.log(Number("3.14"));      // Output: 3.14
3console.log(Number("0xff"));      // Output: 255
4console.log(Number("abc"));       // Output: NaN
5
6console.log(parseFloat("3.14abc"));  // Output: 3.14
7console.log(Number("3.14abc"));      // Output: NaN
  • Number() 是一个将字符串或其他数据类型转换为数字的函数。如果提供了非数字字符串,它会返回 NaN

  • parseInt()parseFloat() 不同,Number() 认为它是无效的转换,如果字符串包含非数字字符则返回 NaN

String()

1console.log(String(42));           // Output: "42"
2console.log(String(3.14));         // Output: "3.14"
3console.log(String(true));         // Output: "true"
4console.log(String(null));         // Output: "null"
5console.log(String(undefined));    // Output: "undefined"
  • String() 是一个将数字和其他数据类型转换为字符串的函数。String(42) 返回字符串 "42"
  • 如果要转换的值是 nullundefined,它分别返回字符串 "null""undefined"
  • 通过将各种数据类型(例如数字、布尔值或对象)转换为字符串,这非常有用。

Array

1const arr = Array(3);
2console.log(arr); // Output: [ <3 empty items> ]
3
4const arr2 = Array(1, 2, 3);
5console.log(arr2); // Output: [1, 2, 3]
  • Array 是一个用于创建新数组的构造函数。
  • 如果有一个参数,该参数被视为数组的长度,并创建一个空数组。
  • 如果有多个参数,则创建一个以这些值为元素的数组。

Array.isArray()

1console.log(Array.isArray([1, 2, 3])); // Output: true
2console.log(Array.isArray("not an array")); // Output: false
  • Array.isArray() 是一个方法,用于判断参数是否为数组。
  • 如果参数是数组,它返回 true,否则返回 false

isFinite()

1console.log(isFinite(42));         // Output: true
2console.log(isFinite(Infinity));   // Output: false
3console.log(isFinite(NaN));        // Output: false
  • isFinite() 用于确定给定的值是否为有限数。对于有限数返回 true,否则返回 false(如无穷大或 NaN)。

  • 在 JavaScript 中,Infinity-Infinity 表示无穷大并属于数字类型,但 isFinite() 认为无穷大是无效值。

eval()

1let expression = "2 + 2";
2console.log(eval(expression));    // Output: 4
3
4console.log(eval("var x = 10; x * 2"));  // Output: 20
  • eval() 是一个函数,用于评估和执行作为字符串提供的 JavaScript 代码。您可以动态执行 JavaScript 代码。

  • eval() 非常强大,但存在安全风险,因此在实际开发中应尽量避免使用。使用 eval() 执行外部提供的代码可能会导致意外行为和安全漏洞。

encodeURI() / decodeURI()

1let url = "https://example.com/?name=John Doe&age=25";
2let encodedUrl = encodeURI(url);
3console.log(encodedUrl);
4// Output: https://example.com/?name=John%20Doe&age=25
5
6let decodedUrl = decodeURI(encodedUrl);
7console.log(decodedUrl);
8// Output: https://example.com/?name=John Doe&age=25
  • encodeURI() 是一个用于编码(转换)不能在 URL 中使用的字符的函数。另一方面,decodeURI() 将编码后的 URL 解码为原始形式。

  • 在处理特殊字符时,编码尤其重要。例如,空格或 & 等字符需要编码才能正确包含在 URL 中,因此必须使用 encodeURI() 进行适当处理。

setTimeout() / setInterval()

 1// Execute a function after 2 seconds
 2setTimeout(() => {
 3    console.log("This runs after 2 seconds");
 4}, 2000);
 5
 6// Execute a function every 1 second
 7let intervalId = setInterval(() => {
 8    console.log("This runs every 1 second");
 9}, 1000);
10
11// Stop the interval after 5 seconds
12setTimeout(() => {
13    clearInterval(intervalId);
14}, 5000);
  • setTimeout() 是一个计时器函数,用于在指定时间后执行一次函数。setInterval() 在指定的时间间隔内重复执行函数。

  • setTimeout()setInterval() 异步执行,在指定时间过去后调用函数。还可以使用 clearTimeout()clearInterval() 来取消执行。

总结

利用 JavaScript 内置函数可以编写更简单、更高效的程序。这里介绍的功能是基础的,并且在各种情况下都很有用。

您可以在我们的YouTube频道上使用Visual Studio Code跟随上述文章进行学习。 请也查看我们的YouTube频道。

YouTube Video