1.定义方式
1.0 使用常量定义字符串 var str = "abc"; // 创建一个字符串, String类型
2.0 使用new关键字 var str = new String("abc"); // 创建一个对象,为 object类型
eg: 两者的不同
PS:基本数据类型的字符串,也可以调用所有字符串已有的方法
2.字符串的遍历和修改
3.字符串常见的方法:
4.ASCII码(美国信息交换标准代码):
在计算机中,所有的数据在存储和运算时都要使用二进制数表示,数字和符号在计算机存储时也要用二进制表示,为了把字符和二进制的对应关系统一起来,就有了ASCII码(之前有128个,现在有256个)
5.Unicode 和 字符集
世界上由多种编码方式,同一个二进制可以被解释成不同的符号,因此,想要解读一个文件,就必须知道他的编码方式,否则就会出现乱码。而Unicode是一种所有符号的编码集合。
UTF-8是unicode的实现方式之一。
Charset 字符集
utf-8
128个字符
常见的中文字符集: GBK > GB18030 > GB2312 BIG5繁体
字符集问题
--在ascii码基础上扩展出来的符号标准,不同国家的标准不一样,因此产生了各种各样的字符集
6.对象在内存中的存储方式
访问对象不存在的属性时,会得到undefined
7.哈希 -- 某一类算法的总称
概念:将任意长度的二进制值转换为固定长度的二进制值 或 任意长度的输入转换为固定长度的输出
应用:
1. 用于加密 一一对应且不可逆
eg:
2.做对比
eg:云盘急速秒传 -- 会对电影做相同的哈希计算,得到一个哈希值上传到服务器并做对比,如果服务器中已经有了,那么拷贝一份电影的引用到用户下面,并非真的上传
3.散列
eg:输入一个值的时候,会把 key 通过哈希算法得到一个值,然后把这个值作为下标存储到相应位置
当想要得到一个值的时候,也把 key 通过哈希再算一次,得到一个下标。
不过哈希算法要考虑数组长度问题
3.一个好的哈希算法应该具备的特点:
1.0不冲突
2.0不可逆
(虽然这两个要求在数学上不能实现)