FAQ?
JS 的各种位置,比如 clientHeight,scrollHeight,offsetHeight ,以 及 scrollTop, offsetTop,clientTop 的区别?
clientHeight:表示的是可视区域的高度,不包含 border 和滚动条 offsetHeight:表示可视区域的高度,包含了 border 和滚动条 scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分。 clientTop:表示边框 border 的厚度,在未指定的情况下一般为 0 scrollTop:滚动后被隐藏的高度,获取对象相对于由 offsetParent 属性指定的父坐 标(css 定位的元素或 body 元素)距离顶端的高度。
const 定义函数和直接用 function 声明有什么区别?
特性 | const 定义函数 | function 声明 |
---|---|---|
提升 (Hoisting) | 不提升 | 提升 |
作用域 | 块级作用域 | 当前作用域 |
是否支持箭头函数 | 支持 | 不支持 |
this 绑定 | 静态绑定(若为箭头函数) | 动态绑定 |
是否可以重新赋值 | 不可以 | 无重新赋值概念 |
- 用const声明函数时,你可以避免函数被重新赋值,代码的可维护性会更高,特别是当你不希望函数被意外重写时,const更加安全。
- 用function声明函数时,你可以享受函数提升的好处,使代码看起来更灵活,适合在任何位置调用函数。