当前位置: 首页 > news >正文

面试篇三

问题一:图片延迟加载是怎么实现的?

  • 在结构上,我们把img标签放到一个div盒子中,开始的时候图片的src中的地址为空,我们把图片的真实存放在一个自定义属性data-src中,我们给图片所在的盒子设置一个默认的背景图占位(最好是小1kb)
  • 在js中,当监听到页面中的结构和数据都加载完成后(或者一个间隔时间),开始把图片的真实图片地址赋值给img中的src(为了防止图片地址不存在导致404错误,我们在赋值给图片src属性是,往往会验证一下图片是否存在)

问题二:如何实现浏览器内多个标签页之间的通信?

本题主要考察的是数据纯粹的知识。数据存储有本地和服务器存储两种方式,这里主要用本地存储解决,即调用localStorage,cookis等本地存储方式 第一种调用localStorage

在一个标签页面使用
localStorage.setItem(key,value)添加修改或删除内容
在另一个标签页面监听storage事件,
即可得到localStorage存储的值,实现不同标签标签之间的通信

复制代码

第二种cookie+setInteraval() 将要传递的信息存储在cookie中,每隔一定时间获取cookie信息,即可随时获取要传递的信息

第三种 h5的postMessage postMessage(data,origin)方法接受两个参数,分别在子页面和父页面触发messag事件即可

问题三:同源策略

协议 域名 端口号都一致 则是同源 如果协议 域名 端口号这三个有一个不一样则是跨域

  • 为什么浏览器默认不支持跨域?

cookie localStorage DOM元素 ajax 这些都不支持跨域

  • 实现跨域(让两个页面之间通信)
  • jsonp (执行完后返回的是一个promise 缺点只能发送get请求,并且不安全)
  • cors 纯后端提供的(最常用的 安全性高)
  • postMessage 两个页面间可以通信
  • document.domain 专门做子域和父域关系的
  • window.name
  • location.hash
  • http-proxy
  • nginx
  • websocket

问题四:ifram的缺点

  • ifram会阻塞主页面的onload事件
  • 搜索引擎无法检索这种页面,不利于seo优化
  • ifram和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的加载速度

问题五:let 和 var 的区别

  • let没有变量提升
  • let 会形成块级作用域
  • 存在暂时性死区

问题六:CSS优先级比较

!important>id>class>tag important比内联优先级高

问题七:XML和HTML的区别

  • 功能上的区别 XML可兼容各大浏览器,手机以及PDA,并且浏览器也能快速正确的编译网页,
  • 书写习惯 XML元素必须被正确的嵌套,闭合,区分大小写,文档必须拥有根元素

问题三:vue有哪些自定义属性

相关文章:

  • SAP开源Java SCA工具,提供静态代码安全性测试功能
  • 最快1天搭建短视频APP!阿里云短视频解决方案上线
  • CSS3 属性
  • 《重新定义团队》读书笔记及阅读感想2600字
  • Kubernetes — 作业副本与水平扩展
  • BootStack 权限管理平台体验环境正式上线了
  • Windows Server 2016 检查更新时,错误代码8024401C 的解决方案
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 《深入理解JVM》 探究String.intern()方法
  • 大数据全解:定义、价值及挑战
  • spring项目打jar包运行,读取资源文件失败
  • 深度辨析 Python 的 eval() 与 exec()
  • 这题不会!别说你懂值传递与引用传递
  • 换芯 Edge 的新截图曝光,看起来更像 Chrome 了?
  • 如何阅读Java源码?
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • eclipse的离线汉化
  • gcc介绍及安装
  • gf框架之分页模块(五) - 自定义分页
  • IDEA 插件开发入门教程
  • js中forEach回调同异步问题
  • nginx 配置多 域名 + 多 https
  • Python3爬取英雄联盟英雄皮肤大图
  • React-flux杂记
  • 从输入URL到页面加载发生了什么
  • 诡异!React stopPropagation失灵
  • 缓存与缓冲
  • 基于 Babel 的 npm 包最小化设置
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 【干货分享】dos命令大全
  • UI设计初学者应该如何入门?
  • zabbix3.2监控linux磁盘IO
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​香农与信息论三大定律
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #QT项目实战(天气预报)
  • #微信小程序:微信小程序常见的配置传值
  • (10)STL算法之搜索(二) 二分查找
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (poj1.2.1)1970(筛选法模拟)
  • (七)Knockout 创建自定义绑定
  • (数据结构)顺序表的定义
  • (四) Graphivz 颜色选择
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转载)hibernate缓存
  • (转载)深入super,看Python如何解决钻石继承难题
  • ***利用Ms05002溢出找“肉鸡
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net core 连接数据库,通过数据库生成Modell
  • .NET DataGridView数据绑定说明
  • .NET 中创建支持集合初始化器的类型