▓▓▓▓▓▓ 大致介绍

  String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。在JavaScript中没有单个的字符型,都是字符串。字符型就相当于只包含一个字符的字符串。

 

▓▓▓▓▓▓ 引号

  字符串可以由双引号(“”)或单引号(‘’)表示,但是要注意,如果是双引号开始就要以双引号结束,单双引号是可以嵌套的

        "hello"; //正确
'hello'; //正确
'hello"; //错误
"hel'l'o"; //正确

▓▓▓▓▓▓ 转义字符

  String数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。

        \0 空字节
\n 换行
\t 制表
\b 空格
\r 回车
\f 进纸
\\ 斜杠
\' 单引号
\" 双引号
\xnn 以十六进制nn表示一个字符(n为0-f),如\x41表示'A'
\unnnn 以十六进制nnnn表示一个Unicode字符(n为0-f),如\u03a3表示希腊字符ε

  如果在非特殊转移字符前使用反斜杠,则反斜杠会被忽略

        '\a' //"a"

  如果字符串需要包含反斜杠,则需要在反斜杠前面在多加一个反斜杠用来转义

        '\\a' //"\a"

▓▓▓▓▓▓ 特点

  JavaScrit中的字符串是不可变的,也就是说,字符串一旦被创建,他们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后在用另一个包含新值得字符串填充改变量

  例如:

        vara lang = 'Java';
lang = lang + 'Script';

  

  以上代码的执行过程:首先创建一个能容纳10个字符的新字符串,然后在这个字符串中填充“Java”和“Script”,最后一步将原来的字符串“Java”和“Script”销毁

▓▓▓▓▓▓ 字符串与数组

  字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。

        var s = 'hello';
s[0] // "h"
s[1] // "e"
s[4] // "o" // 直接对字符串使用方括号运算符
'hello'[1] // "e"

  

  如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。

        'abc'[3] // undefined
'abc'[-1] // undefined
'abc'['x'] // undefined

  但是,字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。

        var s = 'hello';

        delete s[0];
s // "hello" s[1] = 'a';
s // "hello" s[5] = '!';
s // "hello"

▓▓▓▓▓▓ length属性

  length属性返回字符串的长度,这个属性也是无法改变的

        var s = 'hello';
s.length // s.length = 3;
s.length //

▓▓▓▓▓▓ 转为字符串

  要把一个值转换为字符串有两种方式:toString()和String()

  注意:空字符串"" + 值,也可以将该值转为字符串

  

  toString()

  几乎每个值都有toString()方法,这个方法唯一要做的就是返回相应值得字符串表现

  注意:null和undefined没有这个方法

        undefined.toString();//错误
null.toString();//错误
true.toString();//'true'
false.toString();//'false'
'abc'.toString();//'abc'
1.23.toString();//'1.23'
({}).toString();//[object Object]
[1,2,3,4].toString();//'1,2,3,4'
(new Date()).toString();//"Sun Jun 05 2016 10:04:53 GMT+0800 (中国标准时间)"
/ab/i.toString();//'/ab/i'

  还可以通过指定基数,来改变输出的值(基数默认是十进制)

        var num = 10;
console.log(num.toString()); //
console.log(num.toString(2)); ///1010
console.log(num.toString(8)); //

  String()

  String()能将任何类型的值转换为字符串,包括null和undefined

  转换规则:

      1、如果值是null,则返回'null';如果值是undefined,则返回'undefined'

      2、如果值不是null或undefined,则调用toString()方法并返回原始类型值

      3、若使用toString()方法返回的是对象,则再调用valueOf()方法返回原始类型值,若使用valueOf()方法返回的是对象,会报错

        String(null) //"null"
String(undefined) //"undefined"
String(true) ///"true"
String({toString:function(){return 3}}); //

参考资料:

    

      小火柴javascritp类型系统--字符串String类型

      阮一峰JavaScript标准参考教程--基本语法值字符串

      《javascript高级程序设计(第3版)》第3章

  

  

  

  

JavaScript 基本类型值-String类型的更多相关文章

  1. JavaScript 基本类型值-Number类型

    ▓▓▓▓▓▓ 大致介绍 在JavaScript的内部采用IEEE754格式来表示数字,所以不区分整数和浮点数,都是用64位浮点数的形式储存.就是说,在JavaScript内部,就根本没有小数.但是有些 ...

  2. javascript系列-class6.String类型

    观察淘宝网商品数据   有一个东西叫服务器>>>>js的作用重要作用之一>>>>交互>>>>人机交互(事件)>>&g ...

  3. JavaScript基本类型值与引用类型值

    前言 JS变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型的值源自一下5种基本数据类型:Underfined.Null.Boolean.Number和String. 基本类型值和引用类型 ...

  4. javascript类型系统——字符串String类型

    × 目录 [1]定义 [2]引号 [3]反斜线[4]特点[5]转字符串 前面的话 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串S ...

  5. Javascript中的string类型使用UTF-16编码

    2019独角兽企业重金招聘Python工程师标准>>> 在JavaScript中,所有的string类型(或者被称为DOMString)都是使用UTF-16编码的. MDN DOMS ...

  6. JavaScript 基本类型值-Undefined、Null、Boolean

    ▓▓▓▓▓▓ 大致介绍 ECMAScript中有5中简单的数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String. ▓▓▓▓▓▓ Undefined ...

  7. golang数据基本数据类型和string类型的转换

    基本类型之间的转换 golang在不同类型的变量之间赋值时需要显式转换,也就是说golang中数据类型不能自动转换. 表达式T(v)将值v转换为类型T 1.数据类型的转换可以是从范围小——>范围 ...

  8. javascript检测基本类型值或引用类型值的类型方法

    首先javascript的数据类型分为两种数据类型:基本数据数据类型和引用数据类型 基本数据类型:Number,String,Boolean,Undefined,Null.原始值,是简单的数据段,可按 ...

  9. javascript之基本包装类型(Boolean,Number,String)基础篇

    前几天整理了javascript中Array方面的知识,但是String中的一些方法多多少少和Array里的方法有些类似容易混淆,就顺便连同String所在的包装类一起整理一下,希望可以帮助到初学者, ...

随机推荐

  1. 非root用户Memcached repcached安装

    安装memcached前先要确定系统是否安装了gcc: 1.解压安装包: tar -zxf memcached-1.2.8-repcached-2.2.tar.gz 2.编译: 系统应安装了libev ...

  2. 【Xilinx-Petalinux学习】-08-OpenAMP系统实现

    openAMP系统实现. 一个核跑Linux,一个核裸跑.     ----->  已经实现. 一个核跑Linux,一个核跑UCOS   ----->  还未实现. Micrium的uco ...

  3. SQL SERVER 2000 数据恢复(分离数据库+附加数据库)

    一.分离数据库     SQL Server 2000允许分离数据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上.分离数据库将从SQL Server 删除数据库,所以当点击“分离数据 ...

  4. UVa 10137 & ZOJ 1874 The Trip

    题目大意:n个学生去旅行,旅行中每个学生先垫付,最后平摊所有费用,多退少补,并且支出差距控制在1分钱以内,求最小的交易金额. @2013-8-16 以前在zoj做过,把原来的代码直接提交了,虽然AC了 ...

  5. MVC 视图-模型,动态更新

    <!DOCTYPE html> <html> <head> <title>Binding</title> <script src=&q ...

  6. js架构设计模式——前端MVVM框架设计及实现(一)

    前端MVVM框架设计及实现(一) 最近抽出点时间想弄个dom模块化的模板引擎,不过现在这种都是MVVM自带的,索性就想自己造轮子写一个简单的MVVM框架了 借鉴的自然还是从正美的avalon开始了,我 ...

  7. 交叉验证(cross validation)

    转自:http://www.vanjor.org/blog/2010/10/cross-validation/ 交叉验证(Cross-Validation): 有时亦称循环估计, 是一种统计学上将数据 ...

  8. FMS4中的P2P功能

    在fms4以前Adobe只允许在stratus中才能使用p2p功能.令人高兴的是,在最新发布的fms4中,p2p功能已经集成进来了,这将给实时视频类的应用带来更高的效率,adobe这次很给力! 为了使 ...

  9. SVG在网页中的四种使用方式

    1,直接打开simple.svg <svg xmlns="http://www.w3.org/2000/svg" width="200" height=& ...

  10. Linux中的zero-copy技术

    本文是对参考文章重要部分的摘录,同时进行简单地总结. 零拷贝技术的相关背景知识 传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的 ...