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()判断给定值是否为NaN。NaN(非数字)表示无效的数字值。 -
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"。- 如果要转换的值是
null或undefined,它分别返回字符串"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频道。