2020-12-04前端面经1

JS执行上下文

执行上下文(Execution Context, EC执行环境)

代码执行时会进入不同的执行环境,不同的执行环境有不同的scope(作用域),代码访问到的资源也不一样。在JS中,执行环境有三种:

1.全局环境
代码默认的执行环境,代码执行时会首先进入全局环境。它是最外围的一个环境,根据ECMAscript实现所在的宿主环境的不同,表示全局环境的对象也不一样。在web服务器中,全局环境就是window对象。全局变量和函数都是作为全局对象window的变量和函数来创建。

2.函数环境
函数被调用执行时所创建的执行环境

3.eval
使用eval会进入一个新的执行环境,它的变量对象为全局变量对象或者调用者的变量对象。但不推荐使用。(因为不懂会用错)

http缓存

作用:合理的使用http缓存,可以有效的减少访问次数,不但可以减少服务器压力还可以降低页面加载时间。

缓存分类:强制缓存,协商缓存(对比缓存)

强制缓存:浏览器有一个缓存数据库,当客户端浏览器请求时,如果缓存数据库中存在,就直接取出,如果没有,才从服务器获取。

协商缓存:客户端先从缓存数据库中获取一个缓存数据的标识,得到标识会让服务器验证是否失效,没有的话,服务器返回304,证明数据没有改变。如果改变了,就返回更新后的数据。

两种机制可以同时存在,强制缓存的优先级比协商缓存高。

强制缓存(expires/cache-control)
协商缓存(Last-modified/ If-modified-since)

http缓存属于客户端缓存
减少冗余数据传递,节省流量带宽
减少服务器负担,提高网站性能
加快客户端加载速度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值