一、关于<form>标签的enctype属性你有哪些了解?
https://blog.csdn.net/bigtree_3721/article/details/82809459
form 标签的 enctype 属性指定将数据回发到服务器时浏览器如果对表单数据进行编码,其有三种编码形式:
- 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 是默认属性。 - multipart/form-data
它不对字符进行编码,在使用包含文件(如图片、mp4等文件)上传控件的表单时必须使用该值 - 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
四、说说一件或几件(介绍下除了工作外)你觉得能为你面试加分的事
除工作外的,这主要是想从另一方面考查面试者对自我的了解及认识(性格特点)。比如可以这么回答:
- 每年都要跑满1000公里,已经坚持3年了
- 我风雨无阻每天早上4:30起床坚持阅读,坚持了10年,已经习惯了!
- 我坚持每周至少三次去锻炼身体
- ……
可以从坚持、勇敢、适应环境、担当、人际关系等个人性格特点方面回答。
每天坚持早起,作息规律