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

一、概述

字符串在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有很多字符串的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,...
    顽皮的雪狐七七阅读 6,632评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,455评论 0 4
  • FreeCodeCamp - Basic JavaScript 写在前面: 我曾经在进谷前刷过这一套题,不过当时只...
    付林恒阅读 16,539评论 5 28
  • 图/麦丰国际设计 昨日悠扬 厌倦明日复明日的乏味,更无奈昨日时光的悄然流逝。 还记得那首Yesterday onc...
    烟火熠烨阅读 3,456评论 0 4
  • 老公, 有时候想到是和你一起过一辈子就觉得人生好有希望,好幸福,好感恩。 你是那么孝重老人,那么善良,那么会说真心...
    叶子嘉许阅读 1,306评论 0 0