为了账号安全,请及时绑定邮箱和手机立即绑定

slice

slice这节课中的注意3. String.slice() 与 Array.slice() 相似。

是否正确?

是不是应该是String.substring() 与 Array.slice() 相似。

正在回答

3 回答

String.slice() 与 Array.slice() 相似, String.substring()则不然,String.slice()与String.substring(),虽然都是根据参数start 与 end 返回子字符串,但也有区别:前者如果 start 或end为负,将它作为 length + start(end)处理,此处 length 为数组的长度。如果 end 出现在 start 之前,不复制任何元素到新数组中。后者如果 start 或 end 为 NaN 或者负数,那么将其替换为0。子字符串的长度等于 start 和 end 之差的绝对值。

0 回复 有任何疑惑可以回复我~
#1

qq_Tobeabetter 提问者

非常感谢!
2016-04-14 回复 有任何疑惑可以回复我~

是有String.slice()这个的,和substring的区别是slice里面start和stop可以是负数,string不行,但是两者都用于字符串的提取

0 回复 有任何疑惑可以回复我~
#1

qq_Tobeabetter 提问者

非常感谢
2016-04-14 回复 有任何疑惑可以回复我~
#2

CharlesLvm

说错了吧,你看前面的讲义说substring()的参数必须是非负的
2016-07-14 回复 有任何疑惑可以回复我~
#3

qq_过去_3 回复 CharlesLvm

是有String.slice()这个的,和substring的区别是slice里面start和stop可以是负数,substring不行,但是两者都用于字符串的提取,,,写错了。。。
2016-07-22 回复 有任何疑惑可以回复我~

是相似的,字符串相当于字符数组。String.slice() 提取指定位置之间的元素是没有逗号隔开的; String.substring()的结果是和String.slice()一样的; Array.slice()提取指定位置之间的元素是有逗号隔开的。你把下面代码复制进编译器,看结果你就明白了。


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
   var myarr1 = ["我","爱","你"];
   var myarr2 = "我爱你";
   document.write(myarr1.slice(1) + "<br>");
   document.write(myarr2.slice(1) + "<br>");
   document.write(myarr2.substring(1));
</script>
</head>
<body>
</body>
</html>
0 回复 有任何疑惑可以回复我~
#1

qq_Tobeabetter 提问者

非常谢谢
2016-04-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468061    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程
意见反馈 帮助中心 APP下载
官方微信