• JavaScript 基本类型值-String类型


    ▓▓▓▓▓▓ 大致介绍

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

     

    ▓▓▓▓▓▓ 引号

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

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

    ▓▓▓▓▓▓ 转义字符

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

             空字节
            
     换行
            	 制表
             空格
            
     回车
            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

    参考资料:

        

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

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

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

      

      

      

      

  • 相关阅读:
    openVolumeMesh example 程序学习
    使用字符串创建java 对象
    HDU-1501-Zipper
    UVA-10285-Longest Run on a Snowboard
    HDU-2182-Frog
    HDU-2044-一只小蜜蜂
    POJ-1163-The Triangle
    HDU-1159-Common Subsequence
    HDU-2069-Coin Change
    HDU-4864-Task
  • 原文地址:https://www.cnblogs.com/qqandfqr/p/6437466.html
Copyright © 2020-2023  润新知