lgwebdream / FE-Interview

🔥🔥🔥 前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、Css、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器
https://lgwebdream.github.io/FE-Interview/
Other
6.82k stars 896 forks source link

Day250:说一下 let、const 的实现,使用 ES5 模拟实现一下 #1069

Open Genzhen opened 3 years ago

Genzhen commented 3 years ago

每日一题会在下午四点在交流群集中讨论,五点小程序中更新答案 欢迎大家在下方发表自己的优质见解

二维码加载失败可点击 小程序二维码

扫描下方二维码,收藏关注,及时获取答案以及详细解析,同时可解锁800+道前端面试题。

luuman commented 2 years ago

let

块级作用域 重复声明

function outputNum(count){
//块级作用域
  (function(){
    for(var i = 0; i < count; i ++){
      console.log(i)
    }
  })()
  console.log(i)
}
outputNum(5)

const

function _const(key, value) {
    window[key] = value
    Object.defineProperty(window, key, {
        enumerable: false,
        configurable: false,
        get: function () {
            return value
        },
        set: function(newValue) {
            if (newValue !== value) {
                throw TypeError('这是只读变量,不可修改')
            } else {
                return value
            }
        }
    })
}