Loading

每日思考(2020/08/13)

题目概览

  • 对javascript:void(0)的理解
  • font-style的属性有Italic和oblique,两者有什么区别
  • 对浏览器同源策略的理解
  • 刷新和强制刷新有什么区别

题目解答

对javascript:void(0)的理解

  • 当用户点击一个以 javascript: URI 时,它会执行URI中的代码,然后用返回的值替换页面内容,除非返回的值是undefined。void运算符可用于返回undefined
  • void关键字在js的含义为执行一个表达式,但不会返回任何值(即undefined);因此void(0)语句相当于执行表达式0,然后不返回任何值
  • href="javascript:void(0)"的作用是点击链接后不发生任何行为,常用于阻止页面刷新或跳转
  • 参考文档

font-style的属性有Italic和oblique,两者有什么区别

  • talic和oblique都是向右倾斜的文字,
  • Italic是指斜体字
  • Oblique是倾斜的文字,对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果
  • 如果当前字体没有对应的斜体字体,则退而求其次,解析为 oblique,也就是单纯形状倾斜

对浏览器同源策略的理解

  • 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。 可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。
  • 出于浏览器的安全考虑,避免沾染其他域的恶意文件代码,只有协议,域名,端口都相同的文档才能被读写。某个页面上执行的 AJAX/Fetch 请求只能访问到同域名下的 URL
  • 三要素:协议相同、端口相同、域名相同
  • 跨域的方式包括:后端设置header、JSONP、正向代理、CORS、WebSocket等

刷新和强制刷新有什么区别

  • F5 和 Ctrl+R 都是普通刷新,若页面之前访问过,就会发一个空请求到服务器,服务器返回 302 ,表示资源未更新,可以使用浏览器缓存。
  • 强制刷新 (ctrl+F5) 则不管浏览器是否缓存,都要重新去源站服务器请求资源,成功则返回 200。
  • 参考文档:性能优化——浏览器的缓存策略
posted @ 2020-08-14 00:27  澎湃_L  阅读(99)  评论(0编辑  收藏  举报