JavaScript中的常用函数(一)

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有两个作用;

  1. 可以用来判断对象的类型;
  2. 可以用来创建对象的实例。

对象实例可以通过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函数。

Licensed under CC BY-NC-SA 4.0