JavaScript中的常用函数(一)
前言
JavaScript是一种广泛用于网页开发的脚本语言。本文将介绍一些JavaScript中常用的函数,帮助初学者更好地理解和使用这些函数。
基本输入输出函数
alert()
alert()函数用于在浏览器中显示一个警告对话框,通常用于向用户显示信息。
1
|
alert("Hello, World!");
|
这里的代码会弹出一个对话框,显示“Hello, World!”消息。
console.log()
console.log()函数用于在浏览器的控制台中输出信息,通常用于调试代码。
1
|
console.log("This is a log message.");
|
这里的代码会在控制台中输出“This is a log message.”。使用F12可以打开浏览器的开发者工具,查看控制台输出。
prompt()
prompt()函数用于显示一个对话框,提示用户输入信息,并返回用户输入的值。
1
2
|
let name = prompt("Please enter your name:");
console.log("Hello, " + name + "!");
|
这里的代码会弹出一个对话框,提示用户输入姓名,并在控制台中输出问候信息。
数学函数
JavaScript提供了一些内置的数学函数,可以用于执行各种数学运算。
Math.abs()
Math.abs()函数用于返回一个数的绝对值。
1
2
3
|
let num = -5;
let absValue = Math.abs(num);
console.log(absValue); // 输出: 5
|
这里的代码会输出5,即-5的绝对值。
Math.round()
Math.round()函数用于将一个数四舍五入到最接近的整数。
1
2
3
|
let num = 4.7;
let roundedValue = Math.round(num);
console.log(roundedValue); // 输出: 5
|
这里的代码会输出5,即4.7四舍五入后的值。
当输入的数为负数时:
1
2
3
|
let num = -4.3;
let roundedValue = Math.round(num);
console.log(roundedValue); // 输出: -4
|
这里的代码会输出-4,即-4.3四舍五入后的值。
Math.random()
Math.random()函数用于返回一个0到1之间的随机数(包括0但不包括1)。
1
2
|
let randomValue = Math.random();
console.log(randomValue); // 输出: 0到1之间的随机数
|
这里的代码会输出一个0到1之间的随机数。
类型判断函数
typeof
typeof运算符用于返回一个变量或表达式的数据类型。
1
2
|
let value = 42;
console.log(typeof value); // 输出: "number"
|
这里的代码会输出"number",表示变量value的数据类型是数字。但typeof在判数组、对象和null时有些特殊:
1
2
3
4
5
6
|
let arr = [1, 2, 3];
console.log(typeof arr); // 输出: "object"
let obj = {name: "Alice"};
console.log(typeof obj); // 输出: "object"
let n = null;
console.log(typeof n); // 输出: "object"
|
可以看到数据、对象和null都会被判断为"object"类型。
instanceof
instanceof运算符用于判断一个对象是否是某个类的实例。
1
2
|
let date = new Date();
console.log(date instanceof Date); // 输出: true
|
instanceof判断的原理是判断对象的原型链上是否存在该类的prototype属性。但对于基本数据类型(如字符串、数字等)使用instanceof会返回false:
1
2
3
4
5
6
|
let str = "Hello";
console.log(str instanceof String); // 输出: false
let num = 42;
console.log(num instanceof Number); // 输出: false
let bool = true;
console.log(bool instanceof Boolean); // 输出: false
|
这里的代码会输出false,因为基本数据类型不是对应包装类的实例。
constructor
constructor属性用于返回一个对象的构造函数。
1
2
|
let arr = [1, 2, 3];
console.log(arr.constructor === Array); // 输出: true
|
constructor有两个作用;
- 可以用来判断对象的类型;
- 可以用来创建对象的实例。
对象实例可以通过constructor属性访问其构造函数:
1
2
|
let obj = {};
console.log(obj.constructor === Object); // 输出: true
|
但是如果创建一个对象然后改变其原型,constructor就不能用来判断数据类型了:
1
2
3
4
5
6
7
8
9
10
|
function Person(name) {
this.name = name;
}
let person = new Person("Alice");
console.log(person.constructor === Person); // 输出: true
// 改变原型
person.__proto__ = {};
console.log(person.constructor === Person); // 输出: false
|
Object.prototype.toString.call()
Object.prototype.toString.call()方法用于返回一个对象的类型字符串。
1
2
|
let arr = [1, 2, 3];
console.log(Object.prototype.toString.call(arr)); // 输出: "[object Array]"
|
这里的代码会输出"[object Array]",表示变量arr是一个数组类型。对于其他数据类型也适用:
1
2
3
4
5
6
7
8
9
10
|
let str = "Hello";
console.log(Object.prototype.toString.call(str)); // 输出: "[object String]"
let num = 42;
console.log(Object.prototype.toString.call(num)); // 输出: "[object Number]"
let bool = true;
console.log(Object.prototype.toString.call(bool)); // 输出: "[object Boolean]"
let n = null;
console.log(Object.prototype.toString.call(n)); // 输出: "[object Null]"
let undefined;
console.log(Object.prototype.toString.call(undefined)); // 输出: "[object Undefined]"
|
数据类型转换函数
JavaScript提供了一些函数用于将数据从一种类型转换为另一种类型。
parseInt()
parseInt()函数用于将字符串转换为整数。
1
2
3
|
let str = "42";
let intValue = parseInt(str);
console.log(intValue); // 输出: 42
|
这里的代码会输出42,即字符串"42"转换为整数后的值。
parseFloat()
parseFloat()函数用于将字符串转换为浮点数。
1
2
3
|
let str = "3.14";
let floatValue = parseFloat(str);
console.log(floatValue); // 输出: 3.14
|
这里的代码会输出3.14,即字符串"3.14"转换为浮点数后的值。
String()
String()函数用于将其他数据类型转换为字符串。
1
2
3
|
let num = 100;
let strValue = String(num);
console.log(strValue); // 输出: "100"
|
这里的代码会输出字符串"100",即数字100转换为字符串后的值。
结语
本文介绍了一些常用的简单函数,包括输入输出函数、数学函数和数据类型转换函数。后面会介绍一些更复杂和实用的JavaScript函数。