JavaScript 字符串

2021-05-08 09:30:21 更新

B站关联视频教程:https://www.bilibili.com/video/BV1RA41137yd?p=10

目录:

一、字符串定义【字面量定义】

二、字符串定义对象定义

三、字符串常用属性或方法

    1、长度 length 内置属性

    2、字符串分割方法 【split 注意:对应 数组串接方法join】

    3、toString()方法可把(一个 Number) 对象转换为一个字符串,并返回结果。

    4、字符串截取函数 substr、substring

    5、 字符串第一次出现处的索引【indexOf()】 和最后一次出现的索引【 lastIndexOf()】

    6、replace 字符替换

    str对象.replace("a","b");str对象.replace(正则,"b")

    ……


内容:

一、字符串定义

定义:JavaScript 字符串是引号中的零个或多个字符。

功能:JavaScript 字符串用于存储和操作文本。

<h2>JavaScript 字符串</h2>

<p id="demo"></p>

<script>
    var x = "itwenda.com";  // 用引号包围的字符串
    document.getElementById("demo").innerHTML = x;
</script>

您能够使用单引号''或双引号""。

 var x = 'itwenda.com';
 或
 var x = "itwenda.com";
<script>
    var x = "'itwenda.com'";
    var y = '"itwenda.com"';
    var z = '\'itwenda.com\'';
    document.write(x);//'itwenda.com'
    document.write("<br/>");
    document.write(y);//"itwenda.com"
    document.write("<br/>");
    document.write(z);//'itwenda.com'
    
</script>

针对一些特殊字符,只想让他按普通字符展示,这个时候,就需要用到\转义字符。

以下六个转义字符最初设计用于控制打字机、电传打字机和传真机。它们在 HTML 中没有任何意义。

代码结果
\b退格键
\f换页
\n新行
\r回车
\t水平制表符
\v垂直制表符

二、字符串定义对象定义

通常,JavaScript 字符串是原始值,通过字面方式创建:

var str= "itwenda.com"

字符串也可通过关键词 new 定义为对象:

<script>
    var str= new String("itwenda.com");
    document.write(str);
</script>

请不要把字符串创建为对象。它会拖慢执行速度。

<script>
    var x = "itwenda.com";
    var y = new String("itwenda.com");    
 
    document.write(typeof x);//string
    document.write("<br/>");
    document.write(typeof y);//object    

</script>

当使用 == 相等运算符时,x,y是相等的。

当使用 === 相等运算符时,x,y是不相等的。

三、字符串常用属性或方法

    1、长度 length 内置属性

<script>
    var str="itwenda.com";    
    document.write(str.length);//11
</script>

    2、字符串分割方法 【split 注意:对应 数组串接方法join

<script>
    var arr="2:3:4:5".split(":");    
    document.write(typeof(arr)+arr);//将返回["2", "3", "4", "5"]
    var arr1="|a|b|c".split("|");
    document.write(typeof(arr1)+arr1);//将返回["", "a", "b", "c"]
    document.write("<br/>");
    document.write(arr1[1]);//a
</script>

    3、toString()方法可把(一个 Number) 对象转换为一个字符串,并返回结果。

<script>
    //var n= new Number(666);
    var n=666;
    var y=n.toString();
    document.write(typeof y);//string
    document.write("<br/>");
    document.write(y);//666
</script>
    <script>
        var n= true;
        var y=n.toString();
        document.write(typeof y);//string
        document.write("<br/>");
        document.write(y);//true
    </script>
    <script>
        var n= 0;
        var y=n.toString();
        document.write(typeof y);//string
        document.write("<br/>");
        document.write(y);//0
    </script>

4、字符串截取函数 substr、substring

js中substr和substring都是截取字符串中子串,非常相近,可以有一个或两个参数。

语法:substr(start [,length]) 第一个字符的索引是0,start必选 length可选

   substring(start [, end]) 第一个字符的索引是0,start必选 end可选

相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串

    <script>
        var str = "itwenda.com";
        var a=str.substr(6);  //a.com
        document.write(a+"<br/>");
        var a=str.substring(6); //a.com
        document.write(a+"<br/>");
    </script>


 

不同点:有两个参数时

(1)substr(start,length) 返回从start位置开始length长度的子串

    <script>
        var a="itwenda.com".substr(1,6);
        document.write(a+"<br/>");//twenda
    </script>


【注】当length为0或者负数,返回空字符串

(2)substring(start,end) 返回从start位置开始到end位置的子串!!不包含end)

    <script>
        var a="itwenda.com".substring(1,6);
        document.write(a+"<br/>");//twend
    </script>


【注】:

(1)substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点

(2)start 或 end 为 NaN 或者负数,那么将其替换为0

5、 字符串第一次出现处的索引【indexOf()】 和最后一次出现的索引【 lastIndexOf()】

<script>
    var str="Hello world! world"
    document.write(str.indexOf("world") + "<br />")     //6
    document.write(str.lastIndexOf("world") + "<br />") //13
</script>

 6、replace 字符替换

    str对象.replace("a","b");str对象.replace(正则,"b")

<script>
    var str="hi,js";
    //str2=str.replace(/hi/,"hello");//正则
    str2=str.replace("hi","hello");//hi字符替换为hello
    document.write(str2);//hello,js
</script>