每日一点面试题

说一下对cookie和Storage(localStorage和sessionStorage) 的认识和区别/h2>

将用户信息保存在浏览器中。

早期本地储存采用的是cookie的方式,但是cookie大小有限,并且前端操作不方便,所以H5给了两个新的储存方法

  • :永久性本地存储,只要不手动删除或者代码清除,一直保存在浏览器中。
  • : 会话级本地存储,只有在当前窗口下才生效,窗口关闭数据清空。

一般来说用于储存后台返回的token、用户信息等常用数据。

本地存储的区别

区别 cookie localStorage(优选) sessionStorage
数据有效期 默认窗口关闭前有效(可以手动设置有效期) 永久有效 窗口关闭前有效
存储大小 4kb 至少5mb 至少5mb
作用范围 同源同窗口 同源窗口共享 同源同窗口
与服务器通信 每次都会携带cookie 不会自动携带 不会自动携带

如何实现水平、垂直居中/h2>

弹性盒子方法

定位方法

盒子模型(怪异模型)

标准盒模型

width和height包含了content和padding和border,目前主流的浏览器默认都是标准盒模型

  • 可以通过box-sizing来转换盒模型
    • content-box:标准盒模型
    • border-box:怪异盒模型

怪异盒子真正的大小的计算:

  • 宽度= width(包含了content+padding+border)
  • 高度= height(包含了content+padding+border)

怪异盒子所占空间的大小的计算:

  • 宽度=width(包含了content+padding+border)+ margin * 2(左右)
  • 高度 =height(包含了content+padding+border)+ margin * 2(上下)

实现图文混排

float

如何判断数据类型

1、使用 typeof

由结果可知typeof可以测试出、、、及,

2、使用 instanceof

obj instanceof Object ,可以左边放你要判断的内容,右边放类型来进行JS类型判断,只能用来判断复杂数据类型,因为instanceof 是用于检测构造函数(右边)的 属性是否出现在某个实例对象(左边)的原型链上。

3、使用Object.prototype.toString.call

在任何值上调用 Object 原生的 toString() 方法,都会返回一个 [object NativeConstructorName] 格式的字符串。每个类在内部都有一个 [[Class]] 属性,这个属性中就指定了上述字符串中的构造函数名。
但是它不能检测非原生构造函数的构造函数名。

4、使用constructor

constructor不能判断undefined和null,并且使用它是不安全的,因为cont

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月22日
下一篇 2022年9月22日

相关推荐