搜尋
首頁web前端js教程javascript中String类的subString()方法和slice()方法_javascript技巧

在该书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()总是把较小的参数作为起始位,较大的数字最为终止位。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何解决 golang 中的 “panic: runtime error: slice bounds out of range” 错误?如何解决 golang 中的 “panic: runtime error: slice bounds out of range” 错误?Jun 25, 2023 pm 12:42 PM

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

Java如何使用StringBuilder类的substring()函数截取字符串的子串Java如何使用StringBuilder类的substring()函数截取字符串的子串Jul 24, 2023 pm 12:13 PM

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

如何使用Java中的String.substring()方法获取子字符串?如何使用Java中的String.substring()方法获取子字符串?Nov 18, 2023 am 08:07 AM

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

Golang中如何删除slice元素Golang中如何删除slice元素Mar 22, 2023 pm 02:22 PM

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

Go 语言中的 slice 是怎样使用的?Go 语言中的 slice 是怎样使用的?Jun 11, 2023 am 08:53 AM

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

使用java的StringBuilder.substring()函数截取字符串的子串使用java的StringBuilder.substring()函数截取字符串的子串Jul 26, 2023 pm 11:45 PM

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

使用StringBuffer类的substring()方法获取字符串部分内容的子串使用StringBuffer类的substring()方法获取字符串部分内容的子串Jul 24, 2023 pm 12:41 PM

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

如何使用slice函数在数组中提取元素?如何使用slice函数在数组中提取元素?Nov 18, 2023 pm 01:28 PM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

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

mPDF

mPDF

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

SublimeText3 Mac版

SublimeText3 Mac版

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

MantisBT

MantisBT

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