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()总是把较小的参数作为起始位,较大的数字最为终止位。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

在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的定義格式如下:

使用StringBuffer類別的substring()方法取得字串部分內容的子字串在Java程式設計中,經常需要對字串進行處理和操作。 StringBuffer類別是一個常用的字串類,它提供了一系列方便的方法來操作字串。其中,substring()方法是一個非常常用的方法,可以用來取得字串中的一部分內容,也就是子字串。以下將介紹如何使用StringBuffer類別的

使用java的StringBuilder.substring()函數截取字串的子字串在Java程式設計中,經常需要對字串進行操作,其中一個常見的操作就是截取字串的子字串。 Java提供了多種方法來實作此功能,其中StringBuilder類別的substring()函數是一種簡單且有效率的方法。 StringBuilder是Java中用於操作字串的一個類,它提供了

如何使用slice函數在陣列中提取元素?在程式設計過程中,我們經常需要對陣列進行提取元素的操作。而在許多程式語言中,都提供了一種方便的方法來實現這一操作,即使用slice函數。本文將詳細介紹如何使用slice函數在陣列中提取元素,並給出具體的程式碼範例。 Slice函數是一種通用的函數,它可以用於從陣列或切片中提取元素。它的語法非常簡單,一般形式為:slice(st
