Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
我知道
但是为什么后来在
我发现
仅凭这一点,就可以在问题中假设这些功能实现了完全相同的事情,这简直是错误的,这与询问为什么存在任何其他功能没有什么不同。做出该决定的人只能回答这个问题。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
我知道
substr(start[, length])
和substring(start[, end])
之间有什么区别。例如,这已解决。在先前的问题中:What is the difference between substr and substring?但是为什么后来在
substr
已经存在的情况下又添加substring
?我正在寻找有关此决定历史的信息。我发现
substring
从一开始就存在,然后在Ecmascript 3rd Edition中“突然”出现,它们具有两个不同的功能,可以使用不同的参数来实现完全相同的事情。为什么? 最佳答案
这两个功能的用例不同。String.prototype.substr()
使您可以使用负的起始值从字符串的末尾获取子字符串,这使其适用于更多使用情况,而不会生成过于冗长,难以理解的代码。
// alert('1234567890'.substring('1234567890'.length - 4)) <-- UGLY
alert('1234567890'.substr(-4))
仅凭这一点,就可以在问题中假设这些功能实现了完全相同的事情,这简直是错误的,这与询问为什么存在任何其他功能没有什么不同。做出该决定的人只能回答这个问题。
关于javascript - 为什么在过去已经存在`substring`的情况下添加了`substr`? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56799448/