原文链接:https://note.noxussj.top/?source=helloworld
String 字符串对象
字符串转换 toString
var age = 20
var age2 = age.toString() // "20"
字符串转换 String
var age = 20
var age2 = String(age) // "20"
字符串分割 split
var str = 'abcdefg'
var str2 = str.split('') // ['a', 'b', 'c', 'd', 'e', 'f', 'g']
字符串替换 replace
var str = 'abcdefg'
var str2 = str.replace('abc', 'xxx') // xxxdefg
字符串查找 indexOf
var str = 'abcdebg'
var str2 = str.indexOf('b') // 1
字符串查找 lastIndexOf
var str = 'abcdebg'
var str2 = str.lastIndexOf('b') // 5
字符串查找 charAt
var str = 'abcdebg'
var str2 = str.charAt(1) // b
字符串查找 match
var str = 'The rain in SPAIN stays mainly in the plain'
var str2 = str.match(/ain/g) // ['ain', 'ain', 'ain']
字符串拼接 +
var str = 'my name'
var str2 = ' is a xiaoming'
var str3 = str + str2 // 'my name is a xiaoming'
字符串拼接 concat
var str = 'my name'
var str2 = ' is a xiaoming'
var str3 = str.concat(str2) // 'my name is a xiaoming'
字符串截取 slice
var str = 'abcedfg'
var str2 = str.slice(0, 2) // 'ab'
字符串截取 substring
var str = 'abcedfg'
var str2 = str.substring(1, 2) // 'b'
字符串截取 substr
var str = 'abcedfg'
var str2 = str.substr(1, 2) // 'bc'
字符串转小写 toLowerCase
var str = 'ABCEDFG'
var str2 = str.toLowerCase() // 'abcedfg'
字符串转大写 toLocaleUpperCase
var str = 'abcdefg'
var str2 = str.toLocaleUpperCase() // 'ABCDEFG'
字符串两端去空格 trim
var str = ' abcd efg '
var str2 = str.trim() // 'abcd efg'
Number 数字对象
加减乘除 + - * /
var a = 1 + 1 // 2
var b = 1 - 1 // 0
var c = 1 * 1 // 1
var d = 1 / 1 // 1
数字转换 Number
var a = '10.01'
var b = Number(a) // 10.01
数字转换 parseInt
var a = '10.01'
var b = Number.parseInt(a) // 10
数字转换小数点 parseFloat
var a = '10.01'
var b = Number.parseFloat(a) // 10.01
格式化小数点 toFixed
var a = 10.06
var b = a.toFixed(1) // '10.1'
判断是否为整数 isInteger
var a = Number.isInteger(10.06) // false
var b = Number.isInteger(10) // true
Object 对象
创建对象 {}
var obj = {}
创建对象 new Object
var obj = new Object()
创建对象 Object.create
var obj = Object.create(null, {})
访问对象属性 obj[key]
var obj = {
name: 'xiaoming',
age: 20
}
var name = obj['name'] // 'xiaoming'
访问对象属性 obj.key
var obj = {
name: 'xiaoming',
age: 20
}
var name = obj.name // 'xiaoming'
删除对象属性 delete obj.key
var obj = {
name: 'xiaoming',
age: 20
}
delete obj.name
console.log(obj.name) // undefined
Array 数组对象
创建数组 []
var arr = ['a', 'b', 'c', 'd']
创建数组 Array.from
var arr = Array.from('abcd') // ['a', 'b', 'c', 'd']
数组合并 concat
var arr = ['a', 'b', 'c']
var arr2 = ['d', 'e', 'f']
var arr3 = arr.concat(arr2) // ['a', 'b', 'c', 'd', 'e', 'f']
尾部添加元素 push
var arr = ['a', 'b', 'c', 'd']
arr.push('e')
console.log(arr) // ['a', 'b', 'c', 'd', 'e']
头部添加元素 unshift
var arr = ['a', 'b', 'c', 'd']
arr.unshift('e')
console.log(arr) // ['e', 'a', 'b', 'c', 'd']
尾部删除元素 pop
var arr = ['a', 'b', 'c', 'd']
arr.pop()
console.log(arr) // ['a', 'b', 'c']
头部删除元素 shift
var arr = ['a', 'b', 'c', 'd']
arr.shift('e')
console.log(arr) // ['b', 'c', 'd']
指定位置删除元素 splice
var arr = ['a', 'b', 'c', 'd']
arr.splice(0, 2)
console.log(arr) // ['c', 'd']
清空数组 length
var arr = ['a', 'b', 'c', 'd']
arr.length = 0
console.log(arr) // []
序列化字符串 toString
var arr = ['a', 'b', 'c', 'd']
var str = arr.toString() // 'a,b,c,d'
序列化字符串 join
var arr = ['a', 'b', 'c', 'd']
var str = arr.join() // 'a,b,c,d'
截取元素 slice
var arr = ['a', 'b', 'c', 'd']
var arr2 = arr.slice(0, 2)
console.log(arr2) // ['a', 'b']
查找指定元素 indexOf
var arr = ['a', 'b', 'c', 'd']
var index = arr.indexOf('b') // 1
访问数组元素 array[index]
var arr = ['a', 'b', 'c', 'd']
var str = arr[1] // b
访问数组长度 length
var arr = ['a', 'b', 'c', 'd']
var length = arr.length // 4
Function 函数对象
定义函数 function
function eat() {}
定义函数参数(形参)arguments
function eat(name) {}
调用函数 fn()
eat()
调用函数传入参数(实参) fn(arguments)
eat('xiaoming')
函数返回值 return
function eat(name) {
return 'my name is ' + name
}
var person = eat('xiaoming') // 'my name is xiaoming'
函数多参数 arguments,arguments
function eat(name, age) {
return 'my name is ' + name + '. age is ' + age
}
var person = eat('xiaoming', 20) // 'my name is xiaoming. age is 20'
Date 日期对象
获取当前时间戳 Date.now()
var date = Date.now() // 1641973293429
获取当前中国标准时间 Date()
var date = Date() // 'Wed Jan 12 2022 15:42:21 GMT+0800 (中国标准时间)'
获取当前年份 getFullYear()
var date = new Date().getFullYear() // 2022
获取当前月份 getMonth()
var date = new Date().getMonth() // 0
获取当前日期 getDate()
var date = new Date().getDate() // 12
获取当前小时 getHours()
var date = new Date().getHours() // 15
获取当前分钟 getMinutes()
var date = new Date().getMinutes() // 51
获取当前秒 getSeconds()
var date = new Date().getSeconds() // 41
获取当前星期几 getDay()
var date = new Date().getDay() // 3
Math 数学对象
绝对值 abs
var number = Math.abs(-5) // 5
向上取整 ceil
var number = Math.ceil(10.06) // 11
向下取整 floor
var number = Math.floor(10.06) // 10
四舍五入 round
var number = Math.round(10.6) // 11
最小值 min
var number = Math.min(20, 30, 5, 10, 50) // 5
最大值 max
javascript
var number = Math.max(20, 30, 5, 10, 50) // 50
平方根 sqrt
var number = Math.sqrt(4) // 2
次幂 pow
var number = Math.pow(2, 3) // 8
随机数 random
var number = Math.random() // 0.08225691909776356
RegExp 正则对象#
创建正则对象 new RegExp
var reg = new RegExp('d{2}', 'g')
创建正则对象 //g
var reg = /d{2}/g
使用正则替换字符串
var str = 'abcddefgdd'
var reg = new RegExp('d{2}', 'g')
var str2 = str.replace(reg, 'xx') // 'abcxxefg'
正则表达式修饰符
修饰符可以在全局搜索中不区分大小写。
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
正则表达式模式
方括号用于查找某个范围内的字符。
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-z] | 查找任何从大写 A 到小写 z 的字符。 |
(red|blue|green) | 查找任何指定的选项。 |
元字符是拥有特殊含义的字符。
元字符 | 描述 |
---|---|
. | 查找单个字符,除了换行和行结束符。 |
\w | 查找数字、字母及下划线。 |
\W | 查找非单词字符。 |
\d | 查找数字。 |
\D | 查找非数字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 匹配单词边界。 |
\B | 匹配非单词边界。 |
\0 | 查找 NULL 字符。 |
\n | 查找换行符。 |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\xxx | 查找以八进制数 xxx 规定的字符。 |
\xdd | 查找以十六进制数 dd 规定的字符。 |
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
量词
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 例如,/a+/ 匹配 "candy" 中的 "a","caaaaaaandy" 中所有的 "a"。 |
n* | 匹配任何包含零个或多个 n 的字符串。 例如,/bo*/ 匹配 "A ghost booooed" 中的 "boooo","A bird warbled" 中的 "b",但是不匹配 "A goat grunted"。 |
n? | 配任何包含零个或一个 n 的字符串。 例如,/e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"。 |
n{X} | 匹配包含 X 个 n 的序列的字符串。 例如,/a{2}/ 不匹配 "candy," 中的 "a",但是匹配 "caandy," 中的两个 "a",且匹配 "caaandy." 中的前两个 "a"。 |
n{X,} | X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。 例如,/a{2,}/ 不匹配 "candy" 中的 "a",但是匹配 "caandy" 和 "caaaaaaandy." 中所有的 "a"。 |
n{X,Y} | X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。 例如,/a{1,3}/ 不匹配 "cndy",匹配 "candy," 中的 "a","caandy," 中的两个 "a",匹配 "caaaaaaandy" 中的前面三个 "a"。注意,当匹配 "caaaaaaandy" 时,即使原始字符串拥有更多的 "a",匹配项也是 "aaa"。 |
n$ | 匹配任何结尾为 n 的字符串。 |
^n | ^n 匹配任何开头为 n 的字符串。 |
?=n | 匹配任何其后紧接指定字符串 n 的字符串。 |
?!n | 匹配任何其后没有紧接指定字符串 n 的字符串。 |