var与let

var与let

 let btn=document.getElementById('btn')
        let result =document.getElementById('result')
        const timer={
            time:0,
            start:function (){
                //console.log(this);this指向timer对象     
                let self=this    问题描述: 为什么用var而不用let,如果是因为作用域链的原因,
                请老师帮忙分析一下使用let时的作用域链
         
                btn.addEventListener('click',function(){
                    //console.log(this);this指向btn                 
                    setInterval(function(){
                        //console.log(this); this指向window对象                       
                        self.time++
                        result.innerHTML=self.time  
                    },1000)
                },false)
            }
        }
        timer.start()


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

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

2回答
hpr456 2025-10-31 21:42:07

我试过了,这里使用var和let都可以,效果都一样。

好帮手慕小李 2025-04-09 14:15:48

同学你好,如下:
"

 let self=this    问题描述: 为什么用var而不用let,如果是因为作用域链的原因,
                请老师帮忙分析一下使用let时的作用域链

"

同学这里想复杂了,最早的时候只有var那时候let还没出现,这里跟作用域链没什么特别的关系;

**特别要注意这节课是箭头函数它是没有this的,那么它的this要逐级向上去找的。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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