JavaScript数据类型 - String类型
String类型
String类型用于表示由0或多个16位Unicode字符组成的 字符序列,即字符串。字符串可以由双引号"或单引号'表示,因此以下两种字符串写法都是正确的:
var str1 = 'Alvin';
var str2 = "Alvin";
虽然在JavaScript中单引号和双引号都可以用来表示字符串,但是单引号或双引号必须成对出现,不能单双混用。比如:
var name = "Alvin';
var name1 = 'Alvin";
上面这两种写法都是错误的。
字符字面量
String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。这些字符字面量如下所示:
字面量 | 含义 |
---|---|
\n |
换行 |
\t | 制表符 |
\b |
退格 |
\r | 回车 |
\f | 换页 |
\\ | 斜杠 |
\' | 单引号 |
\" |
双引号 |
\xnn | 以十六进制代码nn表示的一个字符,如\x41表示A |
\unnnn | 以十六进制代码nnnn表示的一个Unicode字符,如\u03a3表示字符∑ |
这些字符字面量可以出现在字符串中的任意位置,而且也将被作为一个字符来解析,如下面例子所示:
var text = "This is the letter sigma: \u03a3";
这个例子中变量text有28个字符,其中6个字符长转义序列表示一个字符。
任何字符串的长度都可以通过访问length属性取得,如下面代码:
console.log(text.length); //28
字符串特点
ECMAScript中字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能再变了,如果要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量,如下代码所示:
var lang = 'Java';
lang = lang + "Script";
上面代码中的变量lang开始时只包含字符串"Java"。而第二行代码把lang的值重新定义为“Java”和“Script”的组合,即 "JavaScript"。实现这个操作的过程如下:首先创建一个能容纳10个字符的新字符串,然后在这个字符串中填充“Java”和“Script”,最后一步是销毁原来的字符串“Java”和字符串“Script”,因为这两个字符串已经没用了。这个过程是在后台发生的,而这也是在某些老版本浏览器中拼接字符串时速度很慢的原因所在。但这些浏览器在后来的版本中已经解决了这个低效率的问题。
转换为字符串
要把一个值转换为字符串有两种方式。第一种是使用几乎每个值都有的toString()方法,这个方法唯一要做的就是返回相应值的字符串表现。来看下面的例子:
var age = 11;
var ageAsString = age.toString(); //字符串"11"
var found = true;
var foundAsString = found.toString(); //字符串"true"
数值、布尔值、对象和字符串值(每个字符串也都有一个toString方法,该方法返回字符串的一个副本)都有toString()方法。但null和undefined没有这个方法。
多数情况下,调用toString方法不必传递参数。但是在调用数值的toString方法时,可以传递一个参数:输出数值的基数,默认情况下,toString方法以十进制格式返回数值的字符串表示。而通过传递基数,toString可以输出以二进制、八进制、十六进制,乃至其他任意有效进制格式表示的字符串值。下面看几个例子:
var num = 10;
console.log(num.toString());//"10"
console.log(num.toString(2));//"1010"
console.log(num.toString(8));//"12"
console.log(num.toString(10));//"10"
console.log(num.toString(16));//"a"
通过这个例子可以看出,通过指定基数,toString方法会改变输出值。而数值10根据基数不同,可以在输出时被转换为不同的数值格式。注意在默认情况下(没有参数)输出值与指定基数10时输出值是相同的。
在不知道要转换的值是不是null或undefined的情况下,还可以使用转型函数String(),这个函数能够将任何类型的值转换为字符串。String函数遵循一下转换规则:
- 如果值有toString方法,则调用该方法(不带参数)并返回相应的结果
- 如果值是null,则返回"null"
- 如果值是undefined,则返回"undefined"
再看下面几个例子:
var value1 = 10;
var value2 = true;
var value3 = null;
var value4;console.log(String(value1)); //"10"
console.log(String(value2)); //"true"
console.log(String(value3)); //"null"
console.log(String(value4)); //"undefined"
这里一共转换了4个值,数值、布尔、null和undefined。数值和布尔值的转换结果与调用toString方法得到的结果一样。因为null和undefined没有toString方法,所以String函数就返回了这两个值的字面量。
JavaScript数据类型 - String类型相关推荐
- ESQLC数据类型 - string类型
GBase8s ESQL/C字符串数据类型 GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用 ...
- [译]ElasticSearch数据类型--string类型已死, 字符串数据永生
原文链接: https://www.elastic.co/blog/s... Text vs. keyword 随着ElasticSearch 5.0的到来, 同时也迎来了该版本的重大特性之一: 移除 ...
- JavaScript数据类型 - Boolean类型
Boolean类型 Boolean类型是JavaScript中使用的最多的一种类型,该类型只有两个字面值:true和false.这两个值与数字值不是一回事,因此true不一定等于1,而false也不一 ...
- JavaScript数据类型 - Object类型
创建对象一 ECMAScript中的对象其实就是一组数据和功能的集合.对象可以通过执行new操作符后跟要创建的对象类型的名称来创建.而创建Object类型的实例并为其添加属性和方法,就可以创建自定义对 ...
- 前端 javascript 数据类型 布尔类型
python 是大写 True javascript 是小写 true false 也是 布尔类型仅包含真假,与Python不同的是其首字母小写. == 比较值相等 != 不等于 ...
- 2.3、JavaScript 数据类型 - 数字类型
在 JavaScript 中,数字有两种类型: (1)常规数字类型,以 64 位的格式 IEEE-754 存储,也被称为"双精度浮点数".这也是我们绝大多数时候使用的数字. (2) ...
- JavaScript数据类型 - Null类型
Null类型 Null 类型是第二个只有一个值的数据类型,这个特殊的值就是null.从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof检测null值时返回object的原因,如下 ...
- javascript 数据类型与类型转换
JavaScript 数据类型 值类型(基本类型): 字符串(String) 数字(Number) 布尔(Boolean) 空(Null) 未定义(Undefined) Symbol 注:Symbol ...
- js基础--javascript基础概念之String 类型
String 类型 String用来保存由零到多个16为Unicode 字符组成的字符序列. 即 字符串 ,字符串可以用 双引号( "" ) 单引号( '' ) 表示.如下: va ...
最新文章
- web.config文件详解
- 实际上module(data) 等价于module.forward(data)的原因分析
- 炉石传说 C# 设计文档(序)
- Word 2016加载Endnote x9的方法
- java map string stu_Java Map遍历的三种方式 | 学步园
- C语言入门题-是不是太胖了 (10分)
- ThinkPHP - F函数,更新配置文件
- APP设计没有灵感?让那些小众但富有创意的页面告诉你!
- android webview圆角,Android 实现一个通用的圆角布局
- 【运维】vi 和 vim 的区别
- php模拟顺序栈基本操作
- 【干货分享】用AI工具设计一款吸引人的字体效果
- 线性调频(LFM信号)脉冲压缩雷达matlab仿真- 脉冲压缩 测距 测速 距离速度三维像(附matlab代码)
- ir2104s的自举电容_有关IR2104的自举电容和NMOS选择问题 - 图文 -
- win764位loadrunner安装问题:提示:少了Microsoft Visual c++2005 sp1运行时组件,安装时会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息,无法正常安装;
- 产品 软件验收标准参考
- wing带你玩转自定义view系列(3)模仿微信下拉眼睛
- creator 反复横跳瞄准线的实现
- skip-gram 学习笔记
- AutoIt 键盘操作(send)