<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload = function () {
var arrlike = document.getElementsByClassName("box")
var arr = [].slice.call(arrlike).push("Danmo") // 13
/*我希望它的输出
(13) [div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, "Danmo"]*/
console.log(arr)
}
</script>
</head>
<body>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
<div class="box">
</div>
</body>
</html>
请问如何修改,它能同我的预期一样输出?
(不要先将类数组转化为数组再使用push,我希望 类数组使用数组方法,感谢大佬们)
那你应该用concat,push的返回值是数组的length;
你应该改成
[].slice.call(arrlike).concat("Danmo")