前端面试题

苏小研

  • html标签类型及举例

  • css盒子模型

  • css中常用单位
    em:相对长度单位,相对于当前对象内文本的字体尺寸,如果当前行内文本的字体尺寸未被设置,则相对于浏览器的默认字体尺寸。
    rem 是相对于根元素 的 font-size 来计算的,比如说你设置了1.2rem,根元素的font-size是100px,那么这个元素动态算出来的px数就是120px。不同宽度,设置不同px,这样就可以适配所有宽度的设备了。

  • 常用css伪类选择器

  • svg优缺点
    SVG是一种以快速开发和高性能为目标来开发图形的Google XML格式语言。

特点

SVG(Scalable Vector Graphics)是一种基于XML的语言,用于定义基于矢量的图形。
SVG旨在通过网络显示图像。
作为矢量图像,无论SVG图像如何缩小或调整大小,都不会丢失质量。
SVG图像支持交互性和动画。
SVG是W3C标准。
其他图像格式(如光栅图像)也可以用SVG图像杵着。
SVG与HTML的XSLT和DOM很好地集成。

优点

使用任何文本编辑器来创建和编辑SVG图像。
基于XML,SVG图像是可搜索的,可索引的,并且可以被脚本化和压缩。
SVG图像具有高度的可扩展性,因为不管它们如何缩小或调整大小,它们都不会丢失质量。
在任何分辨率下都有良好的打印质量。
SVG是一个开放标准。

缺点

与二进制格式的光栅图像相比,文本格式大小更大。
即使对于小图像,尺寸也可能很大
  • settimeout和setinterval的区别

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
语法
setTimeout(code,millisec)
参数:
code:必需。要调用的函数后要执行的 JavaScript 代码串。
millisec: 必需。在执行代码前需等待的毫秒数。
提示
setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

代码

function hello(){
alert("hello");
}
//使用方法名字执行方法
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法
window.clearTimeout(t1);//清除定时器

setInterval()定义和用法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

代码

//实时刷新时间单位为毫秒
setInterval('refreshQuery()',8000); 
/* 刷新查询 */
function refreshQuery(){
   $("#mainTable").datagrid('reload',null);
}

业务场景
setTimeout用于延迟执行某方法或功能
setInterval则一般用于刷新表单,对于一些表单的假实时指定时间刷新同步

  • websocket通讯前端实现

  • rgba和opacity的区别
    rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度,而rgba()只作用于元素的颜色或其背景色。
    (设置rgba透明的元素的子元素不会继承透明效果!)比如,我们写透明的黑色部分都是用opcity(0.5),但这带出来一个问题就是如果你在这一div上写字的话,然后那个字体也会变成透明色。

  • 什么是跨域,怎么解决跨域问题

跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!

  • 数组去重方法
  1. 利用set方法去重
  2. 数组双循环比较
    依次拿数组的每一项(排除最后一项:后面没有需要比较的内容了)
    和当前拿出项后面的每一项进行比较
    如果发现重复,把这个重复项再原有数组中删除(splice)
    此方法特别浪费性能
  3. 基于对象键值对方式去重
  • 浏览器缓存

1、浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识
2、浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中

以上两点结论就是浏览器缓存机制的关键,他确保了每个请求的缓存存入与读取,只要我们再理解浏览器缓存的使用规则,那么所有的问题就迎刃而解了,本文也将围绕着这点进行详细分析。

为了方便大家理解,这里我们根据是否需要向服务器重新发起HTTP请求将缓存过程分为两个部分,分别是强制缓存协商缓存

  • 304状态码什么意思
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值