[关闭]
@songying 2019-10-05T19:52:50.000000Z 字数 1977 阅读 1340

JS 数据类型

JavaScript


1. 布尔值

true false

2. Number

  1. NaN // 表示 Not a Number, 当无法计算结果时用 NaN 表示
  2. Infinity // 表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
  1. isNaN(NaN) //true

3. 字符串

  1. "I'm OK" // ' 的表示
  2. 'I\'m \"OK\"!' // 转义表示
  3. `多行
  4. 字符串
  5. 测试`
  6. '你好, ' + name + ', 你今年' + age + '岁了!' // 字符串连接
  7. `你好, ${name}, 你今年${age}岁了!` // 变量替换
  8. s[0] // 字符串索引
函数名 说明
s.length 返回字符串长度
s.toUpperCase() 返回字符串的大写
s.toLowerCase() 返回字符串的小写
s.indexOf(key) 返回 key 出现的起始index, 不存在返回-1
s.substring(0, 5) 返回指定范围的子串, 不包括5
s.substring(7) 从索引7开始到结束

4. 数组

  1. [1, 2, 3.14, 'Hello', null, true];
  2. var cars=new Array();
  3. 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) ,但不会返回新数组

5. 对象

JavaScript的对象是一组由键-值组成的无序集合,键都是字符串类型,值可以是任意数据类型。

  1. var person={firstname:"Bill", lastname:"Gates", id:5566};
  2. person.lastname;
  3. person["lastname"];

6. 其他

7. Map

  1. var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
  2. m.set(key, val)
  3. m.get(key)
  4. m.delete(key)

对于 Map 的遍历:

  1. m.forEach(function (value, key, map) {
  2. console.log(value);
  3. });

8. Set

  1. var s1 = new Set(); // 空Set
  2. var s2 = new Set([1, 2, 3]); // 含1, 2, 3
  3. s.add(val)
  4. s.delete(val)
  1. s.forEach(function (element, sameElement, set) {
  2. console.log(element);
  3. });
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注