理解掌握ECMAScript的String类型
1.转义序列有哪些?
转义序列,String类型的特殊字符字面量(Character Literals)。
字面量 | 含义 |
\n | 换行 |
\t | 制表 |
\b | 空格 |
\r | 回车 |
\f | 进纸 |
\' | 单引号 |
\" | 双引号 |
\xnn | 以十六进制代码nn表示的一个字符(其中n为0~F),例,\x41表示"A" |
\unnnn | 以十六进制代码nnnn表示的一个Unicode字符(其中n为0~F),例,\u03a3代表一个希腊字符Σ |
注意:1个转义序列的字符串表示1个字符。字符串的length属性返回了这个字符串中16位字符的数目。如果字符串中包含双字节字符,那么length属性可能不会精确地返回字符串中的字符数目。
var a = "\x41";
console.log(a.length); // 1
var b = "\t";
console.log(b.length); //1
2.字符串有什么特点?
ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。
那么如何改变变量保存的字符串呢?
首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
例:
var lang = "Java";
lang = lang + "Script";
首先,创建一个能容纳10个字符的新字符串;
然后,在这个字符串中填充"Java"和"Script";
最后,销毁原来的字符串"Java"和字符串"Script"。
上面这个过程是在后台发生的,而这也是在某些旧版本的浏览器(例如版本低于1.0的Firefox、IE6等)中拼接字符串时速度很慢的原因所在。
3.如何将其他类型的值转换为字符串?
两个方法:toString() 和 String()。
toString()方法。
Number类型、Boolean类型、Object类型和String类型的值,都有一个toString()方法。
Null类型和Undefined类型的值,没有toString()方法。
var numVlaue = 11;
numVlaue.toString(); // "11"
11 .toString(); // "11",注意,是"11" "空格" "点" "toString()"
var booleanValue = true;
booleanValue.toString(); // "true"
true.toString(); // "true"
var objectValue = {
mirror:"avatar"
};
objectValue.toString(); //"[object Object]"
转换Number类型的值的时候,toString()可以添加参数,用于转换成二进制、八进制、十六进制等模样的字符串,默认不加是十进制。
var num = 10;
num.toString(); // "10"
num.toString(2); // "1010"
num.toString(8); // "12"
num.toString(10); // "10"
num.toString(16); // "a"
String()方法。
Null类型和Undefined类型的值,没有toString()方法。所以转换这两种类型的值时候用String()。
String(null); // "null"
String(undefined); // "undefined"
String()方法的转换规则:
- 当此类型的值有toString()方法,则用toString()方法;
- 如果是null,返回"null"。
- 如果是undefined,返回"undefined"。
相关推荐
原书《Understanding ECMAScript 6》,作者 Nicholas C. Zakas ,此书为开源书籍,可访问它的 github 仓库。本书原作者 Zakas 长期供职于雅虎,是著名的 JS 库 YUI 的主要作者,有着非常丰富的一线工作经验。他同时...
ECMAscript基础
深入理解ECMAScript 6 (中文版和英文版javascript完整版),可以两版对比学习 Understanding ECMAScript 6:The definitive guide for Javascript developers 作者Nicholas C·Zakas曾编著JavaScript高级程序设计
ECMAScript2021中文最新,ECMAScript2021中文文档,第1-6章,持续更新,喜欢请star。git地址https://github.com/fangniyima/ECMAScript-notes
js 学习必备。 ECMAScript5.1中文版
ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1种复杂数据类型——Object,Object 本质上是由一组无序的名值对组成的。ECMAScript 不支持任何创建...
ECMAScript中的引用类型,主要包括Object类、Boolean类、Number类、String类、instanceof运算符
ECMAScript 6.0的一些基本知识点,let,const,var 的区别;String字符串;Set数据结构,其中文件为markdown格式
Learning ECMAScript 6 Learning ECMAScript 6 Learning ECMAScript 6 Learning ECMAScript 6
ECMAscript 6.0PDF,先说清楚,这是一个需要对js 5.0和用过模块化框架的有一些基础的人,更容易理解
ECMAScript Javascript Promise 详解
此标准定义了 ECMAScript 脚本语言。本节包含对 ECMAScript 语言非规范性的概述。
《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码...
这个 Ecma 标准定义了 ECMAScript 2020 语言。它是 ECMAScript 语言的第十一版 规范。自 1997 年第一版出版以来,ECMAScript 已经发展成为世界上使用最广泛的通用编程语言之一。它最广为人知的是嵌入在Web浏览器中的...
ecmascript手册,可以通过手册料及基于此规范的语言
ECMAScript 6 入门(第三版)
ECMAScript语言概述 ECMAScript对象概述(原型链Prototype Chain) ECMA-262主要术语 ECMAScript执行环境(作用域链Scope Chain,闭包机制) ECMAScript函数(new原理) ECMAScript内部属性(参考) ECMAScript执行环境作用...
ECMAScript 2018快速入门
基本原理完成TypedArrays和类的确定之后,ECMAScript是一个再次讨论类型的好地方。在过去的几年中,对类型作为一种不同的代码方法的需求如此强烈,以至于已经创建了多种独立的语言来应对所感知到的缺点。由于类型...
Understanding ECMAScript 6 中文版