文章目录
创建字符串
1. 字面量创建(常用)
- 语法:
var str = 'hello';
2. 内置构造函数创建
- 语法:
var str = new Sting('hello');
操作字符串
1. 字符串长度
js">var str = 'hello world';
console.log(str.length); // 11
str.length = 1;
console.log(str.length); // 11
2. 字符串赋值
js">var str = 'abc'
str = str + 'd'
3. 字符串索引
js">var str = 'hello world';
console.log(str); // hello world
console.log(str[3]); // l
str[3] = "z";
console.log(str); // hello world
console.log(str[3]); // l
4. 字符串遍历
js">var str = 'hello world';
for(var i=0; i<str.length; i++){
console.log(str[i]);
}
/*
h
e
l
l
o
w
o
r
l
d
*/
模板字符串【ES6】
js">var str = 'javascript';
var str2 = `javascript`;
console.log(str); // javascript
console.log(str2); // javascript
与普通字符串区别
js">var str = 'javas
cript'; // 报错
var str2 = `javas
cript`; // javascript
var str3 = '<div><p></p></div>';
var str4 =
`<div>
<p></p>
</div>`;
js">// 定义一个变量
var age = 18;
// 普通字符串
var str = '我今年 age 岁了';
console.log(str); // 我今年 age 岁了
var str4 = '我今年 ${age} 岁了';
console.log(str4); // 我今年 age 岁了
// 模板字符串
var str2 = `我今年 age 岁了`;
console.log(str2); // 我今年 age 岁了
var str3 = `我今年 ${age} 岁了`;
console.log(str3); // 我今年 18 岁了
- 模板字符串,IE低版本不支持,但是不影响书写
ASCII 字符集
- 我们都知道,计算机只能存储0101010这样的二进制数字
- 那么我们的
a-z、A-Z、@
…之类的内容也是由二进制数字组成的 - 我们可以简单的理解为, a ~ z / A ~ Z / / @ /… 之类的内容都有一个自己的编号,然后在计算机存储的时候,是存储的这些编号,我们看的时候,也是通过这些编号在解析成我们要看到的内容给我们看到
ASCII 表
为什么要学习阿斯克码?
因为两个字符串也是可以比较大小的,比较的规则是逐字符进行比较,字符的大小由字符对应的阿斯克码决定
字符串比较
js">console.log('3'>'10'); // true
- 代码分析
js">两个字符串进行比较的时候,是逐字符进行比较,
也就是字符"3"先和字符"1"进行比较,
如果第一个字符相等再进行第二个字符的比较。
从阿斯克码表中,可以找到字符"3"和字符"1"相对应的值,
很明显,字符"3"是要大于字符"1"的。
- 总结规律
js">1. 字母比数字大
2. 小写字母比大写字母大
3. 字母越靠后越大
Unicode 编码【扩展】
- 我们看到了,ASCII 只有这 128 个字符的编码结构
- 但是因为 ASCII 出现的比较早,而且是美国发明的,早起时候这些内容就够用了
- 因为存储一些英文的内容,传递一些英文的文章什么的都够用了
- 那么对于这个世界来说肯定是不够用的
- 因为我们的汉字没有办法存储,包括一些其他国家的语言也没有办法存储
- 所以就出现了 unicode 编码,也叫(万国码,统一码)
- unicode 对照表就是一个和 ASCII 一样的对照表,只不过变得很大很大,因为存储的内容特别的多
- 而且包含了世界上大部分国家的文字,所以我们的文字和字符现在在存储的时候,都是按照 unicode 编码转换成数字进行存储
- 我们的 UTF-8 就是一种 8 位的unicode字符集