Preparing02

目录

1.js中new操作符

2.路由

3.token

 4.说一下对Cookie和Session的认知,Cookie有哪些限制?

5.304

6.浏览器输入网址到页面渲染全过程

7.CSS单位

8.get和post

9.Vue&Jquery

10.Link&@import

11.vue-router的模式

12.localStorage和sessionStorage

13.css选择器优先级

 


1.js中new操作符

new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

例:var obj = new Base();

var obj  = {}; 
obj.__proto__ = Base.prototype; 
Base.call(obj);  

第一行,创建一个空对象obj
第二行,将这个空对象的proto成员指向了Base函数对象prototype成员对象
第三行,将Base函数对象的this指针替换成obj。


2.路由

通过改变URL,在不重新请求页面的情况下,更新页面视图。

实现主要有2种方式:

  • 利用URL中的hash("#");
  • 利用History interfaceHTML5中新增的方法;

一般的需求场景中,hash模式与history模式是差不多的,根据MDN的介绍,调用history.pushState()相比于直接修改hash主要有以下优势:

  • pushState设置的新url可以是与当前url同源的任意url,而hash只可修改#后面的部分,故只可设置与当前同文档的url
  • pushState设置的新url可以与当前url一模一样,这样也会把记录添加到栈中,而hash设置的新值必须与原来不一样才会触发记录添加到栈中
  • pushState通过stateObject可以添加任意类型的数据记录中,而hash只可添加短字符串
  • pushState可额外设置title属性供后续使用

3.token

 token是在服务器端产生的。如果前端使用用户名/密码向服务器请求认证,服务器认证成功,那么在服务器端会返回token给前端。前端可以在每次请求的时候带上token以证明自己的合法地位。

token就相当于客户端登录账号的唯一标识在做一些数据请求的时候,后台会要求在请求头中携带token,如果没有token,或者token过期,那么这个时候就会对这个客户端进行返回响应的数据,然后在前端解析这些数据,判断是token过期还是没有携带,从而让用户进行相应的操作。

token是在向后台请求数据的时候必不可少的。如果没有token,那么后台要么不会返回响应的数据,要么就会返回一些无关紧要的数据。


 4.说一下对Cookie和Session的认知,Cookie有哪些限制?

1.    cookie数据存放在客户的浏览器上,session数据放在服务器上。

2.    cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。

3.    session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用cookie。

4.    单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。


5.304

304:Not Modified    未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源


6.浏览器输入网址到页面渲染全过程

DNS解析

TCP连接

发送HTTP请求

服务器处理请求并返回HTTP报文

浏览器解析渲染页面

连接结束


7.CSS单位

  • px:像素单位
  • rem:相对于根元素html的font-size计算
  • em:相对于元素font-size计算
  •  vw:视窗宽度的百分比
  •  vh:视窗高度的百分比
  •  vmin:当前较小的vw和vh
  •  vmax:当前较大的vw和vh

8.get和post

  • GET在浏览器回退时是无害的,而POST会再次提交请求。

  • GET产生的URL地址可以被Bookmark,而POST不可以。

  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。

  • GET请求只能进行url编码,而POST支持多种编码方式。

  • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

  • GET请求在URL中传送的参数是有长度限制的,而POST么有。

  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

  • GET参数通过URL传递,POST放在Request body中。


9.Vue&Jquery

1、工作原理

Vue做到了数据和视图完全分离开,它首先把值和js对象进行绑定,然后修改js对象的值,Vue框架就会自动把dom的值就行更新。对数据进行操作不再需要引用相应的dom对象,他们通过Vue对象实现数据和视图的相互绑定。

jQuery则是要先使用选择器($)来选取dom对象,然后对dom对象进行操作(如赋值、取值、事件绑定等)。

2、侧重

vue侧重数据绑定,可以应用于复杂数据操作的后台页面。如:表单填写页面

jquery侧重样式操作,动画效果等;可以应用于一些html5的动画页面,一些需要js来操作页面样式的页面中。


10.Link&@import

  • link属于HTML,而@import属于css
  • 页面被加载时,link会被同时加载,而@import引用的css会等到页面加载结束后加载
  • link是HTML标签,所以没有兼容性,而@import只有IE5以上才能识别
  • link方式样式的权重高于@import

11.vue-router的模式

hash模式
监听hashchange事件实现前端路由,利用url中的hash来模拟一个hash,以保证url改变时,页面不会重新加载。

history模式
利用pushstate和replacestate来将url替换但不刷新,但是一旦刷新,就会可能404,因为没有当前的真正路径,要想解决这一问题需要后端配合,将不存在的路径重定向到入口文件


12.localStorage和sessionStorage

localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问。并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅是会话级别的存储。只允许同一窗口访问。
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。同源可以读取并修改localStorage数据。


13.css选择器优先级

1. !important

在属性后面写上这条样式,会覆盖掉页面上任何位置定义的元素的样式。

2. 行内样式,在style属性里面写的样式。

3. id选择器

4. class选择器

5. 标签选择器

6. 通配符选择器*

7. 浏览器的自定义属性和继承

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值