前端面试内容——基础篇

H5的使用

1.语义化标签

<header></header>
<section></section>
<footer></footer>
<article></article>

2.新增标签

<audio></audio>
<video></video>
<progress></progress>

3. 本地存储

local storage
session storage

4.新增表单属性

//带过滤功能的列表   placeholder
<input type=text list=food placeholder="123"></input>

5.新增表单控件

email , url , date等

css3的使用

1.选择器

属性选择器,伪类选择器,后代选择器,子元素选择器

2.阴影

文字阴影:text-shadow
盒子阴影: box-shadow

3.动画:animation

4.二维三维变换:transform

5.圆角:border-radius

6.flex布局

ES6的使用

1.箭头函数的使用

2.let与const

3.promise

4.字符串模板

5.引入了class

6.set与map

7.新增symbol数据类型

8.新增字符串方法

str.repeat()
str.include(a,b)

9.扩展运算符

改变this指向:

.bind():返回一个函数,在修改指向的地方需要再次调用才会指向

.call(对象,参数1,参数2,…):直接执行

.apply(,对象,[参数1,参数2]):直接执行

promise:一种将异步代码写成同步形式的一种方案

promise原理:其内部有一个状态管理器,有3种状态,resolve时将promise状态改为resolved然后向then的成功回调函数传值,reject相反,状态只能由pending向单方向改变,改变后不可变调用后会返回一个新的promise对象所有可以使用链式调用

闭包

什么是闭包?

闭包是指有权访问另一个函数作用域中的变量的函数

构成条件

  1. 外层函数嵌套内层函数
  2. 内层函数引用外层函数的局部变量
  3. 将内层函数作为外层函数的返回值

闭包的原理:外层函数的活动对象无法被释放

函数在调用时会创建一个活动对象(内部包含当前函数的局部变量和函数)
闭包存在的问题:占内存
优点:能够重复使用,又不会造成全局污染

闭包的使用

指定某函数只能执行固定次数

function  sayHi(){
	console.log('hi)
}
function threeTimes(fn){
		let times=0
		return ()=>{
		if(times++ < 3){
			fn()
		}
		}
}
const newFn = threeTimes(sayHi)
newFn()
newFn()
newFn()
newFn()//该次函数执行后不再产生任何作用

http协议

状态码

101:客户要求服务器根据请求转换HTTP协议版本
200:请求成功
304:缓存问题
306:前一版本http中使用的代码,当前版本不在使用
400:错误请求,如语法错误
403:请求不允许
404:没有发现文件
405:用户在request-live字段定义的方法不被允许
500:服务器内部错误
503:服务器过载或暂停维护
505:服务器不支持或拒绝请求中的http版本

http协议

概念:超文本传输协议(Hyper Text Transfer Protocol)

HTTP是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie/session/websocket等来解决.

默认HTTP的端口号为80HTTPS(更安全的http协议)的端口号为443

常见请求头:

  1. Content-Type:发送给http服务器数据的类型
  2. Content-Length:发送给http服务器数据的长度
  3. Host:指定服务端主机和端口
  4. Expires:本地缓存过期时间
  5. Date:生成本地缓存的具体时间和日期
  6. Cookie:将cookie的值发送给HTTP 服务器
  7. Accept-Charset:浏览器接受的字符集
  8. Accept-Language:声明浏览器接受的语言
  9. Accept-Encoding:声明浏览器接收的压缩编码方法
  10. Connection:客户端与服务器之间的tcp连接控制
  11. Cache-Control:防止页面被缓存

三次握手

三次握手

第一次握手:客户端发送SYN包给服务器(syn=x)并进入syn_sent状态等待服务器的响应,同时选择了一个初始的序列号seq=x
第二次握手:服务器在接收到客户端发送的SYN包后必须确认客户端身份,向客户端发送SYN包(syn=y)以及ACK包(确认号为:ack=x+1)并进入syn_recev状态,等待客户端的确认,同时为自己初始化一个序列号seq=y
第三次握手:客户端在收到服务器响应后将向服务器发送确认包(ack=y+1)并使得客户端进入establish状态,服务器在接收到响应后也进入establish状态,此后便可以开始通信。

四次挥手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值