gpt4 book ai didi

javascript - 为什么有两种不同的方法 slice() 和 substring()?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:34:43 26 4
gpt4 key购买 nike

var name="nameSomnath";//remove name

我可以用 slice()

var result = name.slice( 4 );

同样可以用 substring()

var result = name.substring( 4 );

那么是什么让他们与众不同。我已经看到链接 Here这详细说明了差异。但是我们可以通过使用任何一种方法(即 slice()substring())来做同样的事情。所以为什么需要两种方法。

最佳答案

尽管从表面上看 slicesubstring 做同样的事情,但最大的区别在于它们处理否定参数的方式。

在 Netscape 2.0 中首次创建 JavaScript 时,只有一个 substring 方法。如果它的任何一个参数为负,则将它们视为 0。

当 JavaScript 1.2 与 Netscape 4.0 一起引入时,他们想要添加允许负索引表示距字符串末尾的距离的行为。他们无法更改 substring 以具有此新行为,因为它会破坏与期望负索引被视为 0 的脚本的向后兼容性,因此他们必须创建一个新函数来支持添加的功能。此函数称为 slice,并在 ArrayString 上实现。

另一个较小的区别是 substring 参数的顺序无关紧要,因此 substring(1, 4)substring 相同(4, 1)。对于 slice,顺序很重要,所以 slice(4, 1) 只会产生一个空字符串。

关于javascript - 为什么有两种不同的方法 slice() 和 substring()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18224226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com