您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

基础面试题解

一、js中的三种存储数据的方式

1、Cookie:使用方便但是会存在跨域的问题,无法保存大的数据,保存的数据会发送到服务器端

2、localStorage :可以持久的保存数据,只要我们不主动删除数据就不会一直保存在客户端

3、sessionStorage:只要我们关闭浏览器或者刷新浏览器数据就会删除

下面两个的优点:可以缓存数据,减少内存的占用

Storage只能存储字符串,有的时候就是对象,我们需要将对象转换为字符串

对象转换为字符串:JSON.stringify()   字符串转换为对象:JSON.parse()

二、深拷贝和浅拷贝

1、语法:$.extend([deep],target,object)   depp代表的是当前属于的是深拷贝还是浅拷贝   默认为false浅拷贝,true为深拷贝

target代表的是要拷贝的目标,object代表的被拷贝的目标

浅拷贝:将object中的简单复杂类型直接拷贝给target,复杂的数据类型是将地址拷贝给target,开辟的是同一个空间,当两边的数值发生变化的时候,都会发生变化,同时也会覆盖原来的需要被拷贝的值

深拷贝:简单数据类型是将数据拷贝过去,复杂数据类型也是直接拷贝过去,开辟的是不同的空间,当值发生变化时,不会发生改变

浅拷贝是栈,深拷贝是堆

三、闭包(又称为闭包函数)

一个作用域可以访问两一个函数中的局部变量就是闭包函数,被访问变量的函数就称为闭包函数

四、一个页面输入URL到页面加载完成时,中间会发生什么

1.DNS解析(DNS是域名解析系统) 2.TCP连接 3.发送请求 4.返回响应 5.下载并设置缓存 6.渲染 7.TCP断开

五、浏览器的缓存机制

1、强缓存 :客户端再次请求资源时,不会向服务器发送请求,而是直接从缓存中读取资源

(1)Expires方法:设置过期的事件  (2)Cache-Control方法:设置过期时间

2、协商缓存:客户端再次请求资源时时,会向服务器发送请求验证当前资源的有效性

(1)Last-Modified:根据文件修改时间来决定是否从缓存中取数据

(2)Etag:根据文件修改时间来决定是否从缓存中取数据


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进