JavaScript的基本类型值-String类型

 更新时间:2017年02月24日 10:50:36   作者:老板丶鱼丸粗面  
String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。在JavaScript中没有单个的字符型,都是字符串。这篇文章主要介绍了JavaScript的基本类型值String类型,需要的朋友可以参考下

大致介绍

  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 // 5
  s.length = 3;
  s.length // 5 

转为字符串

  要把一个值转换为字符串有两种方式: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()); //10
  console.log(num.toString(2)); ///1010
  console.log(num.toString(8)); //12 

  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}}); //3

以上所述是小编给大家介绍的JavaScript的基本类型值String类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • JAVA中方法的声明及使用方式(继承、多态、封装)

    JAVA中方法的声明及使用方式(继承、多态、封装)

    这篇文章主要介绍了JAVA中方法的声明及使用方式(继承、多态、封装),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • SSH框架网上商城项目第23战之在线支付功能实现

    SSH框架网上商城项目第23战之在线支付功能实现

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第23战之在线支付功能实现,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Java中final变量使用总结

    Java中final变量使用总结

    这篇文章主要介绍了Java中final变量使用总结,final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值,通常final定义的变量为常量,需要的朋友可以参考下
    2015-06-06
  • Java Servlet异步请求开启的简单步骤

    Java Servlet异步请求开启的简单步骤

    Java servlet是大家公认的服务器端web技术的标准,包括jsp,jsf,和大量的web框架,soap,RESTful web service api,还有新闻供应,下面这篇文章主要给大家介绍了关于Java Servlet异步请求开启的简单步骤,需要的朋友可以参考下
    2022-02-02
  • SpringCloud Bus消息总线的实现

    SpringCloud Bus消息总线的实现

    消息总线是一种通信工具,可以在机器之间互相传输消息、文件等,这篇文章主要介绍了SpringCloud Bus消息总线的实现,Spring cloud bus 通过轻量消息代理连接各个分布的节点,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • SpringMVC实现文件上传下载的全过程

    SpringMVC实现文件上传下载的全过程

    对于上传功能,我们在项目中是经常会用到的,比如用户注册的时候,上传用户头像,这个时候就会使用到上传的功能,而对于下载使用场景也很常见,下面这篇文章主要给大家介绍了关于SpringMVC实现文件上传下载的相关资料,需要的朋友可以参考下
    2022-01-01
  • SpringBoot动态数据源连接测试的操作详解

    SpringBoot动态数据源连接测试的操作详解

    这篇文章主要介绍了SpringBoot动态数据源连接测试的操作步骤,文中通过代码示例和图文结合的方式给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • 详解Java线性结构中的链表

    详解Java线性结构中的链表

    除了一些算法之外,我们还有掌握一些常见的数据结构,比如数组、链表、栈、队列、树等结构,所以接下来就给大家详细讲解一下线性结构中的链表,需要的朋友可以参考下
    2023-07-07
  • Java的动态代理和静态代理及反射常用API详解

    Java的动态代理和静态代理及反射常用API详解

    这篇文章主要介绍了Java的动态代理和静态代理及反射常用API详解,动态代理是一种在运行时动态生成代理对象的技术,它是一种设计模式,用于在不修改原始对象的情况下,通过代理对象来间接访问原始对象,并在访问前后执行额外的操作,需要的朋友可以参考下
    2024-01-01
  • 图片叠加效果Java代码实现

    图片叠加效果Java代码实现

    这篇文章主要为大家详细介绍了图片叠加效果Java代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论