美文网首页程序猿心得
如何理解javascript的字符串比较?

如何理解javascript的字符串比较?

作者: 芭蕾武 | 来源:发表于2017-01-10 21:53 被阅读8次

一、概述

字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更多...。JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等。

当前的大部分浏览器也能从强大的正则表达式获益,因为它极大地简化了大量的字符串操作任务,不过它也需要你克服一条有些陡峭的学习曲线。在这里,主要是介绍字符串本身的一些操作,正则表达式会在以后的随笔中涉及。

二、字符串的创建

创建一个字符串有几种方法。最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量。

var myStr = "Hello, String!";

可以用双引号或单引号将字符串包含,但要注意,作为界定字符串的一对引号必须是相同的,不能混用。

var myString = "Fluffy is a pretty cat.'; 这样的声明就是非法的。

允许使用两种引号,使得某些操作变得简单,比如将一种嵌入另外一种:

document.write("img<src='img/logo.jpg' height='30' width='100' alt='Logo'>");

三、字符串的拼接

问题:

将两个或多个字符串拼接为一个大的字符串

解决方案:

非常简单,就用一个"+"将两个字符串"相加":

var longString = "One piece " + "plus one more piece.";

四、访问字符串的子串

问题:

获得一字符串的一部分的副本。

解决方案:

使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。

substring()的原型为:  string.substring(from, to)

第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。

JavaScript有两种相等运算符。一种是完全向后兼容的,标准的"==",如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换

第二种操作符是"严格"的"===",它在求值时不会这么宽容,不会进行类型转换。所以表达式strA === strB的值为false,虽然两个变量持有的值相同。

五、字符串的比较

问题:

判断一个字符串是否包含另一个字符串。

解决方案:

使用string的indexOf()方法:

strObj.indexOf(subString[, startIndex])

strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的 索引),如果startIndex省略,则从strObj开始处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索 引,则从最大索引处开始。

相关文章

网友评论

    本文标题:如何理解javascript的字符串比较?

    本文链接:https://www.haomeiwen.com/subject/ljjlbttx.html