数据类型:
在 JavaScript 中有 5 种不同的可以包含值的数据类型:
string
number
boolean
object
function
有 6 种类型的对象:
Object
Date
Array
String
Number
Boolean
以及 2 种不能包含值的数据类型:
null
undefined
进制转换
var myNumber = 128;
myNumber.toString(16); // 返回 80
myNumber.toString(8); // 返回 200
myNumber.toString(2); // 返回 10000000
提取部分字符串
有三种提取部分字符串的方法:
- slice(start, end)
- substring(start, end)
- substr(start, length)
BigInt
BigInt 变量用于存储太大而无法用普通 JavaScript 数字表示的大整数值。
BigInt 不能有小数。
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)
Number 对象方法
方法 | 描述 |
---|---|
Number.isInteger() | 如果参数是整数则返回 true。 |
Number.isSafeInteger() | 如果参数是安全整数,则返回 true。 |
Number.parseFloat() | 将字符串转换为数字。 |
Number.parseInt() | 将字符串转换为整数。 |
位移元素
位移与弹出等同,但处理首个元素而不是最后一个。
shift()
方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
unshift()
方法(在开头)向数组添加新元素,并“反向位移”旧元素。返回新数组的长度。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift(); // 返回 "Banana"
fruits.unshift("Lemon"); // 返回 数组长度 4
数组迭代
Array.map()
map()
方法通过对每个数组元素执行函数来创建新数组。
map()
方法不会对没有值的数组元素执行函数。
map()
方法不会更改原始数组。请注意,该函数有 3 个参数:
- 项目值
- 项目索引
- 数组本身
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
return value * 2;
}
Array.filter()
filter()
方法创建一个包含通过测试的数组元素的新数组。请注意此函数接受 3 个参数:
- 项目值
- 项目索引
- 数组本身
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
Array.reduce()
reduce()
方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduce()
方法在数组中从左到右工作。另请参阅 reduceRight()。
reduce()
方法不会减少原始数组。请注意此函数接受 4 个参数:
- 总数(初始值/先前返回的值)
- 项目值
- 项目索引
- 数组本身
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
return total + value;
}
Array.every()
every()
方法检查所有数组值是否通过测试请注意此函数接受 3 个参数:
- 项目值
- 项目索引
- 数组本身
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value, index, array) { return value > 18; }
Math 对象
Math.ceil(x)
的返回值是 x 上舍入最接近的整数
Math.floor(x)
的返回值是 x 下舍入最接近的整数
Math.floor(Math.random() * 10); // 返回 0 至 9 之间的数