前端面试题JS篇(1)

JS 的各种位置,比如 clientHeight,scrollHeight,offsetHeight ,以及 scrollTop, offsetTop,clientTop 的区别

  • clientHeight:表示的是可视区域的高度,不包含 border 和滚动条
  • offsetHeight:表示可视区域的高度,包含了 border 和滚动条
  • scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分。
  • clientTop:表示边框 border 的厚度,在未指定的情况下一般为 0
  • scrollTop:滚动后被隐藏的高度,获取对象相对于由 offsetParent 属性指定的父坐标(css 定位的元素或 body 元素)距离顶端的高度。

typeof与instanceof的区别

typeof 与 instanceof 都是判断数据类型的方法,区别如下:

typeof 会返回一个变量的基本类型,它虽然可以判断基础数据类型( null 除外),但是引用数据类型中,除了 function 类型以外,其他的也无法判断

instanceof 返回的是一个布尔值instanceof 可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型

上述两种方法都有弊端,并不能满足所有场景的需求如果需要通用检测数据类型,可以采用 Object.prototype.toString ,调用该方法,统一返回格式“[object Xxx]”的字符串,如下图

前端面试题JS篇(1)_第1张图片

前端面试题JS篇(1)_第2张图片

你可能感兴趣的:(前端,javascript,开发语言)