<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
var myarr1= ["我","爱","你"];
document.write(myarr1.slice(-1,-2));
</script>
</head>
<body>
</body>
</html>
是参数的顺序造成的。arry.slice(start, end)函数中,start的位置小于end位置,而不是start的数值要小于end的数值。如果调整JS脚本如下:
var myarr1 = ["我", "爱", "你"]; document.write(myarr1.slice(-2, -1));
则会输出结果为“你”。
也就是说,arry.slice(start, end)函数中,start必须处于end位置之前。而题主程序中start=-1,end=-2,顺序正好颠倒。为了验证这一点,可以设计JS脚本如下:
var myarr1 = ["我", "爱", "你"]; document.write(myarr1.slice(3, 1));
你是否也无法获得任何输出结果呢?
它这章节有些问题:
原说明是:
arrayObject.slice(start,end)
但在我看来应该是:
arrayObject.slice(start,length)
第2个参数,应该是指定截取的长度,如果是end根本不符合它自己说的左闭右开
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
var myarr1= ["我","爱","你"];
// document.write(myarr1.slice(1))
document.write(myarr1.slice(-2))
</script>
</head>
<body>
</body>
</html>
应该输出“ 爱”
到底哪个说的对呢?