当前位置: 代码迷 >> 综合 >> day23(<form>标签的enctype属性、CSS的优先级、0.1 + 0.2、0.1 + 0.3和0.1 * 0.2分别等于多少、面试加分的事?)
  详细解决方案

day23(<form>标签的enctype属性、CSS的优先级、0.1 + 0.2、0.1 + 0.3和0.1 * 0.2分别等于多少、面试加分的事?)

热度:27   发布时间:2023-12-15 04:37:45.0

一、关于<form>标签的enctype属性你有哪些了解?

https://blog.csdn.net/bigtree_3721/article/details/82809459

form 标签的 enctype 属性指定将数据回发到服务器时浏览器如果对表单数据进行编码,其有三种编码形式:

  1. application/x-www-form-urlencoded(也是默认格式)
    application/x-www-form-urlencoded编码类型会将表单中发送到服务器之前都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值),数据编码成键值对的形式,当表单的action为post时,它会把form数据封装到 http body 中,然后发送到服务器;当表单的action位get时,它会把表单中发送的数据转换成一个字符串(如:a=1&b=2&c=3)并使用?连接到 url 后面。在不指定 enctype 属性时 application/x-www-form-urlencoded 是默认属性。
  2. multipart/form-data
    它不对字符进行编码,在使用包含文件(如图片、mp4等文件)上传控件的表单时必须使用该值
  3. text/plain
    数据以纯文本格式进行编码,空格转换为 "+" 加号,但不对特殊字符编码

 

二、说说CSS的优先级是如何计算的?

https://xiangshuo.blog.csdn.net/article/details/52749250

!important > 内联样式 > id选择器 > class类选择器 >tag标签选择器 > 通配符

 

三、0.1 + 0.2、0.1 + 0.3和0.1 * 0.2分别等于多少?并解释下为什么?

https://www.jianshu.com/p/d6b81e4e25e3

EcmaScrpt 规范定义 Number 的类型遵循了IEEE754-2008 中的64位浮点数规则定义的小数后的有效位数至多为52位导致计算出现精度丢失问题

这个问题也算是经常遇到的面试题之一了,楼上说的对,简单来说就是js中采用IEEE754的双精度标准,因为精度不足导致的问题,比如二进制表示0.1时这这样表示1001100110011...(0011无线循环),那么这些循环的数字被js裁剪后,就会出现精度丢失的问题,也就造成了0.1不再是 0.1 了,而是变成了 0.100000000000000002
我们可以来测试一下:

0.100000000000000002 === 0.1//true

那么同样的,0.2 在二进制也是无限循环的,被裁剪后也失去了精度变成了 0.200000000000000002:

0.200000000000000002 === 0.2 // true

由此我们可以得出:

0.1 + 0.2 === 0.30000000000000004//true

所以自然0.1+0.2!=0.3
那么如何解决这个问题;使用原生最简单的方法:


parseFloat((0.1+0.2).toFixed(10)) === 0.3//true

四、说说一件或几件(介绍下除了工作外)你觉得能为你面试加分的事 

除工作外的,这主要是想从另一方面考查面试者对自我的了解及认识(性格特点)。比如可以这么回答:

  1. 每年都要跑满1000公里,已经坚持3年了
  2. 我风雨无阻每天早上4:30起床坚持阅读,坚持了10年,已经习惯了!
  3. 我坚持每周至少三次去锻炼身体
  4. ……
    可以从坚持、勇敢、适应环境、担当、人际关系等个人性格特点方面回答。

每天坚持早起,作息规律

  相关解决方案