zoukankan      html  css  js  c++  java
  • 基本类型String的原生方法详解

    1.字符方法

    charAt( index ) 和 charCodeAt( index )

    这两个方法都接收一个参数,即基于 0 的字符索引位置。前者返回对应索引位置的字符,后者返回对应索引位置字符的字符unicode编码(这个返回值是 0 - 65535 之间的整数, 如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN)。
    如:

    var str = "hello world";
    alert( str.charAt(1) ); //charAt(1) 返回字符 "e"
    //也可以表示成str[1],但ie7及更早版本不支持,会返回undefined值
    
    alert(str.charCodeAt(1)); //charCodeAt(1) 返回字符"e"的字符unicode编码“101”
    

      

    2.字符串操作方法

    2-1. concat(str1,str2,···)

    接收任意多个参数,用于拼接字符串,返回拼接得到的新字符串,不影响源字符串,但一般用加号操作符“+”进行字符串连接。
    如:

    var str1 = "hello ";
    var result = str1.concat("world");
    alert(result); //"hello world"
    

      

    2-2. slice()、substring()、substr()

    这三个方法都返回被操作字符串的一个子字符串,都接收一或者两个参数,第一个参数指定子字符串的开始位置,第 二个参数(在指定的情况下)表示子字符串到哪里结束,三个方法对源字符串无影响。
    具体来说,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置;
    而substr()的第二个参数指定的是返回的字符个数。
    如果没有第二参数,则将字符串的长度作为结束位置。
    (当参数都是正数时,若只有一个参数,则三者结果一致;若指定两个参数,则 slice() 和 substring() 结果一致)
    当参数是负值时,它们的行为就不尽相同了:
    其中,slice() 会将传入的负值与字符串长度相加所得到的值取代掉负值,如:

    var str="hello world"; //字符串长度为11
    alert( str.slice(-3) ); //相当于 str.slice(8) 即输出"rld"
    alert( str.slice(3,-4) ); //相当于 str.slice(3,7) 即输出 "lo w" 

    而 substring() 会将所有负值都转换为 0,如:

    var str="hello world"; //字符串长度为11
    alert( str.substring(-3) ); //相当于 str.substring(0) 即输出 "hello world"
    alert( str.substring(3,-4) );//相当于str.substring(3,0),但由于这个方法会将较小的数作为开
    //始位置,将较大的数作为结束位置,亦即相当于str.substring(0,3),最后结果输出"hel"
    

    而 substr() 会将负的第一个参数加上字符串长度,负的第二个参数转换为 0,如:

    var str="hello world"; //字符串长度为11
    alert( str.substr(-3) ); //相当于str.substr(8)即输出"rld"
    alert( str.substr(3,-4) ); //相当于str.substr(3,0)即输出""(空字符串)
    

      

    3.字符串位置方法

    indexOf() 和 lastIndexOf()

    这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到该子字符串,则返回-1),注意,位置索引值从0开始。
    前者从开头向后搜索,后者从结尾向前搜索,但返回的索引值均是相对于从前向后数起的。如:

    var str = "hello world";
    alert(str.indexOf("o")); //4
    alert(str.lastIndexOf("o")); //7
    

      

  • 相关阅读:
    windows server 2012 如何开启 hyper-v 并创建虚拟机
    ABP框架系列之二十四:(Email-Sending-EF-电子邮件发送)
    ABP框架系列之二十三:(EF-MySql-Integration-EF-MySql-集成)
    ABP框架系列之二十二:(Dynamic-Web-API-动态WebApi)
    ABP框架系列之二十一:(Domain-Services-领域服务)
    ABP框架系列之二十:(Dependency-Injection-依赖注入)
    ABP框架系列之十九:(Debugging-调试)
    ABP框架系列之十八:(Data-Transfer-Objects-数据转换对象)
    ABP框架系列之十七:(Data-Filters-数据过滤)
    ABP框架系列之十六:(Dapper-Integration-Dapper集成)
  • 原文地址:https://www.cnblogs.com/jiangmy/p/4595952.html
Copyright © 2011-2022 走看看