老师,这里的btns我可以使用 const 修饰吗

老师,这里的btns我可以使用 const 修饰吗

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>变量、作用域</title>
     
</head>
<body>
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <script type="text/javascript">
     
    var btns = document.getElementsByTagName('button');
     
    const btnClick = function (i) {
        btns[i].onclick = function () {
                alert(i + 1)
        }
    }
     
    for (var i = 0, len = btns.length; i < len; i++) {
        btnClick(i) 
    
        
    </script>
</body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
卡布琦诺 2019-10-14 13:37:03

const 是全局作用域,const 声明的变量,不可以直接修改,必须初始化,const 一般用在数组的定义和修改中,但是在这里,const和var一样,只是声明变量btns

卡布琦诺 2019-10-14 11:54:52

是可以的

祝学习愉!

  • 提问者 与可同学 #1
    这里我之所以这样询问,是因为我记得在基础入门课程中老师讲getElementsByTagName() 方法返回一个动态的HTML集合HTMLCollection。 那在这里就是,btns引用的对象内容是动态变化的。所以btns可以使用const修饰的原因,是btns保存的是HTMLCollection对象的地址吗?
    2019-10-14 12:09:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码