DOM
mouseover,mouseout 和 mouseenter,mouseleave区别
- 盒子中有后代元素的,我们尽可能用mouseenter,mouseleave
- 需要基于冒泡传播干什么事情,我们只能用mouseover,mouseout
javascript
数据类型:
基本数据类型(值类型):
number string boolean null undefined引用数据类型:
object : {} [] /^$/ Date Math 实例对象 function 对象的属性名一定不能是引用类型值,默认会把引用类型值转换为字符串Symbol(唯一值)
浏览器底层渲染机制

let和var区别
- let没有变量提升(但是在词法解析阶段也得知某个变量是否是私有变量)
- let不允许在相同的作用域下重复声明
- let解决了JS中的暂时性死区问题
- let创建的全局变量没有给window设置对应的属性
- let会产生块级作用域
new执行过程
- 创建一个私有的栈内存
- 形参赋值&变量提升
- 浏览器会创建一个对象出来(这个对象就是当前构建函数的一个实例),并且让函数的this指向这个实例对象 =>构造函数模式中,方法中的this就是当前类的实例
- 执行代码
- 在我们不设置return的情况下,浏览器会把创建的实例对象默认返回,如果设置了return ,返回的是一个复杂数据类型,会返回这个复杂数据类型