数组拓展方法
- forEach
- map
- filter
- some
- every
- reduce
var result = 数组.reduce(function(prev, cur){
return prev+cur
}, 1)
对象
- 含义:
键值对
结构数据集合 - 创建对象
- 添加数据
- 修改数据
- 获取数据
- 删除数据
- 遍历数据
for(var key in person){
console.log(person[key])
}
值存储和引用存储
值比较和引用比较
值传递和引用传递
字符串
-
含义: 由字符组成的串(整体)
-
字符串 ‘hello’
-
字符 ‘h’ ‘e’ ‘l’ ‘l’ ‘o’
-
字符串和数组共性
- 在底层存储上面和数组一致(以下标方式存储的)
- 可以通过下标方式访问某一个字符
- 也是有长度的 字符串.length
- 也可以通过indexOf查找是否包含某一个字符
-
字符串和数组的区别
- 字符串的只读性
-
字符串和数组的相互转换
- 字符串拆分成数组
- var 数组 = 字符串.split(分割符)
- 数组拼接成字符串
- var 字符串 = 数组.join(拼接符)
- 字符串拆分成数组
-
字符串的比较
- 字符串的比较按照从左往右每一个字符进行比较,如果比较得出了结果后面就不做比较了
- ‘10’ ‘2’ ‘1’ ‘2’
- ‘100’ ‘12’
- ‘hello’ ‘world’ ‘h’ ‘w’
- ‘hello’ ‘World’ ‘h’ ‘W’
- ‘你好’ ‘世界’
- 每一位字符都有一个对应的编码(数字)
- 字符串的比较按照从左往右每一个字符进行比较,如果比较得出了结果后面就不做比较了
-
ASCII码表
- 最早计算机由冯诺依曼发明
- 计算机底层只能存储 0 1 二进制
- 10–> 1010
- ‘0’ --> 48
- ‘a’–>97–>10101010
- 将一个字符对应一个数字形成一个编码表 这个编码表就是ACSII码表
- 特殊符号 --> 数字0-9 --> A-Z --> a-z
- 在ASCII码表的基础上 推出了一个万国码(unicode) utf-8
-
字符串方法(不怎么用)
- 字符串.charAt(索引)
- 字符串.charCodeAt(索引)
-
转大小写
- 字符串.toLowerCase()
- 字符串.toUpperCase()
-
替换
- 字符串.replace()
-
字符串的裁剪(最常用的)
- 字符串.substring(开始的下标, 结束的下标) 包含开始的下标 不包含结束的下标 (包头不包尾)
- 字符串.substr(开始的下标, 截取的个数)
- 字符串.slice(开始的下标, 结束的下标) 包含开始的下标 不包含结束的下标 (包头不包尾)
- 可以支持传递负数 负数从右往左数 -1开始 裁剪方向永远从左往右
- 可以裁剪数组也可以裁剪字符串