js面试题(四)

65 阅读1分钟

js面试题 每日一背

一、offsetWidth/offsetHeight, clientWidth/clientHeight 的区别

  • offsetWidth/offsetHeight 返回值包含 content + padding + border
  • clientWidth/clientHeight 返回值只包含 content + padding,如果有滚动条,也不包含滚动条

二、说几条写 JavaScript 的基本规范

  • 不要在同一行声明多个变量
  • 请使用 ===/!== 来比较 true/false 或者数值
  • 使用对象字面量替代 new Array 这种形式
  • 避免过多的全局变量或函数

三、null,undefined 的区别

  • undefined 表示不存在这个值。
    • undefined 是一个表示 "无" 的原始值或者说表示 "缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回 undefined
    • 例如变量被声明了,但没有赋值时,就等于 undefined
  • null 表示一个对象被定义了,值为“空值”
    • null : 是一个对象(空对象, 没有任何属性和方法)