@songying
2019-10-05T19:52:50.000000Z
字数 1977
阅读 1340
JavaScript
true | false |
---|
NaN // 表示 Not a Number, 当无法计算结果时用 NaN 表示
Infinity // 表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
isNaN(NaN) //true
"I'm OK" // ' 的表示
'I\'m \"OK\"!' // 转义表示
`多行
字符串
测试`
'你好, ' + name + ', 你今年' + age + '岁了!' // 字符串连接
`你好, ${name}, 你今年${age}岁了!` // 变量替换
s[0] // 字符串索引
函数名 | 说明 |
---|---|
s.length | 返回字符串长度 |
s.toUpperCase() | 返回字符串的大写 |
s.toLowerCase() | 返回字符串的小写 |
s.indexOf(key) | 返回 key 出现的起始index, 不存在返回-1 |
s.substring(0, 5) | 返回指定范围的子串, 不包括5 |
s.substring(7) | 从索引7开始到结束 |
[]
与Array()
创建数组,出于代码的可读性考虑,强烈建议直接使用[]
。
[1, 2, 3.14, 'Hello', null, true];
var cars=new Array();
var cars=new Array("Audi","BMW","Volvo");
函数 | 说明 |
---|---|
a.length | 返回数组长度 |
a.indexOf(key) | 返回元素 key 的索引 |
a.slice(0,3) | 返回索引 0-3 的元素,不包括3 |
a.slice(3) | 从索引3 到结束 |
a.slice() | 返回所有元素,可用于复制 |
a.push(val1,,val2) | 末尾添加元素 |
a.pop() | 删除最后一个元素 |
a.unshift(val) | 头部添加元素 |
a.shift() | 删除第一个元素 |
a.sort([func]) | 数组排序 |
a.reverse() | 数组反转 |
a.concat(b) | 返回新的Array |
a.join(char) | 返回以 char 连接的字符串 |
a.splice(start,len,val1, val2) | 从start 开始,删除 len 个元素,并添加若干元素,最后返回删除的元素 |
a.map(func) | 返回func(val) 组成的新 array |
a.reduce(func) | 返回一个值, func 必须有俩参数 |
a.filter(func) | 返回过滤后的新元素, 过滤掉 func(val) 为 False 的元素 |
a.every(func) | 判断数组的所有元素是否满足测试条件 |
a.find(val) | 查找元素,返回这个元素,未找到,返回 underdefined |
a.findindex(val) | 查找元素,返回元素索引,未找到,返回-1 |
a.forEach(func) | 依次 func(val) ,但不会返回新数组 |
JavaScript的对象是一组由键-值组成的无序集合,键都是字符串类型,值可以是任意数据类型。
var person={firstname:"Bill", lastname:"Gates", id:5566};
person.lastname;
person["lastname"];
undefined
。
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.set(key, val)
m.get(key)
m.delete(key)
对于 Map 的遍历:
m.forEach(function (value, key, map) {
console.log(value);
});
var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3
s.add(val)
s.delete(val)
s.forEach(function (element, sameElement, set) {
console.log(element);
});