let有没有变量提升?

let有没有变量提升?

(()=>{
    window.IndexPage.loadVipCategory = function(){
        let getCategoryList = (data)=>{
            let templateArr = [];
            data.forEach((item)=>{
                templateArr.push(`<li class="vip-item flex-column-around position-relative">
                                    <div class="vip-item-icon"></div>
                                    <h4 class="vip-item-title">${item.title}</h4>
                                    <div class="vip-item-content">${item.content}</div>
                                    <div class="vip-item-introduce">${item.introduce}</div>
                                </li>`);
            });
        
            let vipArea = document.getElementById('vip-area');
            vipArea.innerHTML = templateArr.join(' ');
        
            let iconsArr = document.getElementsByClassName('vip-item-icon');
            let iconNum = iconsArr.length;
            let url = "";
            for(let i = 0; i< iconNum; i++){
                url = '/index/vip/img/'+ data[i].icon;
                iconsArr[i].style.backgroundImage = `url(${url})`;
            }
        }
        LjxTools.getDataforAjax("/index/vip/categoryList.json",getCategoryList);
    }
})()

我写的demo里面用了ES6的写法,let变量函数,只能在声明之后使用变量函数。

这应该与let只能先定义后使用有关系。

如果我用var变量函数,就可以做到预解析,那是不是let就已经没有了变量提升这种说法

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

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

1回答
好帮手慕夭夭 2019-09-28 10:17:17

你好同学,let没有变量提升,在2-1中有讲解的。所以同学听课的时候再认真一些,重要的知识点做好笔记,及时复习,就不会有这样的疑惑了哦。

http://img1.sycdn.imooc.com//climg/5d8ec2770967013709740831.jpg

祝学习愉快,望采纳。

  • 提问者 见信 #1
    这个东西很久没有用过,确实记得不太清楚了,用的时候出问题,直觉就是没有变量提升
    2019-09-28 11:35:58
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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