【JavaScript】(三)String类型的属性和方法

一、String 对象描述

  • 字符串是 JavaScript 的一种基本的数据类型。
  • String 对象的 length 属性声明了该字符串中的字符数。
  • String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
  • 需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。

注:JavaScript中的字符串可以用单引号,也可以用双引号,判断两个字符串是否相等可以直接用==,无须使用equals()方法。

二、String对象属性

  • constructor:对创建该对象的函数的引用 ;
  • length:返回字符串的长度(中文字符算一个字符);
  • prototype:允许您向对象添加属性和方法。

三、String对象方法

不常用的:

  • anchor():创建 HTML 锚。 
  • big():用大号字体显示字符串。 
  • blink(): 显示闪动字符串。 
  • bold():使用粗体显示字符串。 
  • link() 将字符串显示为链接。
  • fontcolor() 使用指定的颜色来显示字符串。 
  • localeCompare() 用本地特定的顺序来比较两个字符串。 
  • small() 使用小字号来显示字符串。 
  • strike() 使用删除线来显示字符串。 
  • sub() 把字符串显示为下标。  
  • sup() 把字符串显示为上标。 
  • toSource() 代表对象的源代码。 
  • toString() 返回字符串。
  • fontsize() 使用指定的尺寸来显示字符串。 
  • fixed() 以打字机文本显示字符串。
  • italics() 使用斜体显示字符串。

常用的:

  • charAt(index):返回在指定索引的字符。 
<script type="text/javascript">
    var str="Hello world!"
    document.write(str.charAt(1))
</script>
          结果为:e
  • charCodeAt(index): 返回在指定索引字符的 Unicode 编码,如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
<script type="text/javascript">
    var str="Hello world!"
    document.write(str.charCodeAt(1))
</script>
          结果为:101
  • concat(stringX,stringX,...,stringX):连接两个或者多个字符串。 concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。
<script type="text/javascript">
    var str1="Hello "
    var str2="world!"
    document.write(str1.concat(str2))
</script>
           结果为:Hello world!
  • indexOf(searchvalue,fromindex):返回字符串中特定字符串第一次出现的位置。searchvalue是必需的。规定需检索的字符串值。fromindex是可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。 如果要检索的字符串值没有出现,则该方法返回 -1。
<script type="text/javascript">
    var str="Hello world!"
    document.write(str.indexOf("Hello") + " ")
    document.write(str.indexOf("World") + " ")
    document.write(str.indexOf("world"))
</script>
           结果为:0   -1   6
  • match(searchvalue/regexp):在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 
<script type="text/javascript">
    var str="Hello world!"
    document.write(str.match("world") + " ")
    document.write(str.match("World") + " ")
    document.write(str.match("worlld") + " ")
    document.write(str.match("world!")+ " ")
    var str1="1 plus 2 equal 3"
    document.write(str1.match(/\d+/g))
</script>
          结果为:world null null world! 1,2,3
  • replace(regexp/substr,replacement):将字符串中某个子串以特定字符串替代。regexp/substr是必需的。规定子字符串或要替换的模式的 RegExp 对象。如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
<script type="text/javascript">
    var str="Welcome to Microsoft! "
    str=str + "We are proud to announce that Microsoft has "
    str=str + "one of the largest Web Developers sites in the world."
    document.write(str.replace(/Microsoft/g, "CSDN"))
</script>
           结果为:Welcome to CSDN! We are proud to announce that CSDN has one of the largest Web Developers sites in the world.
  • search(regexp):检索与正则表达式相匹配的值。search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。对大小写敏感,可用/i。
<script type="text/javascript">
    var str="Visit CSDN!"
    document.write(str.search(/csdn/i))
</script>
            结果为:6
  • lastIndexOf(searchvalue,fromindex):返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。searchvalue是必需的,规定需检索的字符串值。fromindex为可选的整数参数,规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
<script type="text/javascript">
    var str="Hello world!"
    document.write(str.lastIndexOf("Hello") + " ")
    document.write(str.lastIndexOf("World") + " ")
    document.write(str.lastIndexOf("world"))
</script>
            结果为:0 -1 6
  •  substr(start,length) (不建议使用)从起始索引号提取字符串中指定数目的字符,start是开始的索引下标(从0开始),必须有且可以为负数,如果是-1就是字符串最后一个字符开始,length可选。
<script type="text/javascript">
   var str="Hello world!"
   document.write(str.substr(3,7))
</script>
            结果为  :lo worl
  • slice(start,end) 提取字符串的片断,并在新的字符串中返回被提取的部分。
       start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。end紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
<script type="text/javascript">
    var str="Hello happy ending!"
    document.write(str.slice(6))
</script>
            结果为  :happy ending!
<script type="text/javascript">
    var str="Hello happy ending!"
    document.write(str.slice(6,11))
</script>
            结果为  :happy 
  • split() 把字符串分割为字符串数组。  
  • substring(start,stop) :提取字符串中两个指定的索引号之间的字符,start是开始的索引下标(从0开始),必须有,stop可选。
<script type="text/javascript">
    var str="Hello world!"
    document.write(str.substring(3,7))
</script>

           结果为  :lo w

注:String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

  • toLowerCase() 把字符串转换为小写。 
<script type="text/javascript">
    var str="Hello World!"
    document.write(str.toLowerCase())
</script>
           结果为:hello word!
  • toUpperCase() 把字符串转换为大写。 
<script type="text/javascript">
    var str="Hello World!"
    document.write(str.toupperCase())
</script>
           结果为:HELLO WORD!
  • fromCharCode(numX,numX,...,numX) 从字符编码创建一个字符串。该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定。它不能作为您已创建的 String 对象的方法来使用。因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()。
<script type="text/javascript">
document.write(String.fromCharCode(72,69,76,76,79))
</script>
           结果为:HELLO
  • valueOf() 返回某个字符串对象的原始值。valueOf() 方法可返回 String 对象的原始值。原始值是由从 String 对象下来的所有对象继承的。valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。


猜你喜欢

转载自blog.csdn.net/qq_35768238/article/details/80343609