2021-01-28面试题

浏览器内多个标签页之间的通信方式有哪些 ?

  • websocket 可跨域
  • postMessage 可跨域
  • worker的 SharedWorker
  • Server-Sent Events
  • localStorage
  • BroadcastChannel
  • Cookies

具体代码参考 实例代码

简述下你理解的优雅降级和渐进增强

渐进增强和优雅的降级这两个概念是在 css3 之后火起来的,由于低级浏览器不支持 css3,但是又不忍放弃,所以在高级浏览器中使用 css3,而低级浏览器中只保证基本功能

优雅降级

先补考虑兼容性,优先最新版本浏览器效果,之后在逐渐兼容低版本浏览器

渐进增强

考虑兼容,以较低浏览器为主,之后在逐渐增强对新版本浏览器的支持

代码中表现

在降级中优先把 css3 属性写在前面,把然后在把较低版本的 css 写在后面,增强恰好相反

写一个判断数据类型的方法

function type(obj) {
     return /^\[object (\w*)]$/.test(Object.prototype.toString.call(obj)) ? RegExp.$1 : 'unknown';
}
  • 注意
console.log(Object.prototype.toString.call("abc"));  // [object String]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。