一、ES6知识点以及常考面试题
1、let var 以及 const
- 在ES5的环境下实现一个const
function _const(data, val){
window.data = val // 需要挂在到一个对象上 可以新建 可以全局
Object.defineProperty(window, data,{
// writeable: false; 和set不可以一起用
enumerable: false,
configurable: false,
get:function(){
return val;
},
set:function(newVal){
/* 别人这里都有判断是否等于原值
如果等于原值就return val
但我试验过 const即使重复定义同样的值也会报错
所以这里我自己改了 只要重置就报错 */
throw new TypeError('read-only')
}
})
}
- var变量提升的底层原理是什么?
JS引擎工作过程分为预处理和执行两个阶段,在预处理阶段会把所有var的声明语句提升至当前作用域的头部
var a和a=0声明和赋值分别是这两个不同阶段的操作
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。