在该书2.8.4节中讲到String类中的subString()方法和slice()方法,其用法和返回结果都基本相同,如下示例:
var strObj = new String("hello world");
alert(strObj.slice(3)); // 输出结果:"ol world"
alert(strObj.subString(3)); // 输出结果:"ol world"
alert(strObj.slice(3, 7)); // 输出结果:"lo w"
alert(strObj.subString(3,7)); // 输出结果:"lo w"
由以上代码的输出结果可已看出,slice()方法和subString()方调用方法法和输出结果完全一样,这两种方法返回的都是要处理的字符串的子串,都接受一个或两个参数,第一个参数是要获取的子串的起始位置,第二个参数是要获取子串的终止位置,如果第二个参数省略终止位置就默认为字符串的长度,且两个方法都不改变String对象自身的值。
为什么有两个功能完全相同的方法呢?事实上,这两个方法并不完全相同,不过只在参数为负值时,他们处理参数的方式稍有不同。
对于负数参数,slice()方法会用字符串的长度加上参数,subString()方法将其作为0处理,例如:
var strObj = new String("hello world");
alert(strObj.slice(-3)); // 输出结果:"rld"
alert(strObj.subString(-3)); // 输出结果:"hello world"
alert(strObj.slice(3,-4)); // 输出结果:"lo w"
alert(strObj.subString(3,-4)) // 输出结果:"hel"
这样既可看到slice()和subString()方法的主要不同。当只有参数-3时,slice()返回"rld",subString()则返回"hello world"。这是因为对于字符串"hello world",slice(-3)将被转换成slice(8),而subString(-3)则转化成subString(0)。同样,使用3和-4差别也是很明显。slice()方法将被转换成slice(3,7),与前面的例子相同,返回"lo w"。而subString()方法则将这个两个参数解释为subString(0,3),实际上是:subString(0,3),因为subString()总是把较小的参数作为起始位,较大的数字最为终止位。

在Go语言中,我们常常会遇到一种错误,即“panic:runtimeerror:sliceboundsoutofrange”(切片越界)错误。这是因为我们在使用切片时,通常会对切片进行访问或者操作,可能会出现访问索引越界的情况。这篇文章将介绍这种错误的基本原因、如何避免和解决这种错误。1.切片越界错误的产生原因切片是一种引用类型,由底层

Java如何使用StringBuilder类的substring()函数截取字符串的子串在Java中,我们经常需要处理字符串的操作。而Java的StringBuilder类提供了一系列的方法,方便我们对字符串进行操作。其中,substring()函数可以用于截取字符串的子串。substring()函数有两种重载形式,分别是substring(intstar

如何使用Java中的String.substring()方法获取子字符串?Java中的String类提供了一个非常有用的方法substring(),可以用于获取字符串的子字符串。它允许我们从一个字符串中选择一部分字符,并将其作为一个新的字符串返回。本文将介绍如何使用Java中的substring()方法,并提供一些代码示例。使用substring()方法非常

slice可以看作是一个动态数组,它有着灵活的大小和容量,因此在开发过程中非常方便。不过,处理slice的时候我们也经常需要执行删除操作。这篇文章将介绍在Golang中如何删除slice元素。

Go语言中的slice是一种强大的数据类型,它可以让你方便地在数组或切片上执行操作。本文将介绍slice的基本概念,以及如何在Go语言中使用slice。slice的定义和初始化在Go语言中,slice用于表示一个动态数组。与数组不同的是,slice的长度是不固定的,它会根据所存储的元素数量自动增长或缩短。slice的定义格式如下:

使用java的StringBuilder.substring()函数截取字符串的子串在Java编程中,经常需要对字符串进行操作,其中一种常见的操作就是截取字符串的子串。Java提供了多种方法来实现这一功能,其中StringBuilder类的substring()函数是一种简便且高效的方法。StringBuilder是Java中用于操作字符串的一个类,它提供了

使用StringBuffer类的substring()方法获取字符串部分内容的子串在Java编程中,经常需要对字符串进行处理和操作。StringBuffer类是一个常用的字符串类,它提供了一系列方便的方法来操作字符串。其中,substring()方法是一个非常常用的方法,可以用来获取字符串中的一部分内容,即子串。下面将介绍如何使用StringBuffer类的

如何使用slice函数在数组中提取元素?在编程过程中,我们经常需要对数组进行提取元素的操作。而在许多编程语言中,都提供了一种方便的方法来实现这一操作,即使用slice函数。本文将详细介绍如何使用slice函数在数组中提取元素,并给出具体的代码示例。Slice函数是一种通用的函数,它可以用于从数组或切片中提取元素。它的语法非常简单,一般形式为:slice(st


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。