前端知识点(1)
-
p元素不能包括任何块级元素,包括自身、a标签可以包括任何元素,除了自身、tr是表格行,td是表格块,th是表头
- h5常用结构标签 <header></header><nav></nav><section></section><aside></aside><footer></footer><article></article>
-
H5版本中新提出的表单控件
-
电子邮件
<input type="email">
表单提交时,会验证数据是否符号email的规范(有@,并且@后面有内容)
-
搜索类型
<input type="search">
提供了快速清除的功能
-
url类型
<input type="url">
提交时,验证数据是否符合url的规范(http://****)
-
电话号码类型
<input type="tel">
在移动设备中,显示拨号键盘
-
数字类型
<input type="number">
属性:
- value 默认显示的值
- max 能接收到的最大值
- min 能接收到的最小值
- step 每次调整数字时,步数大小
-
范围类型
<input type="range">
提供一个滑块组件,允许用户选取指定范围的值
属性:
- value 默认显示的值
- max 最大值
- min 最小值
- step 步长
-
颜色类型
<input type="color">
提供一个颜色拾取器✨
-
日期类型
<input type="date">
-
月份类型
<input type="month">
-
周类型
<input type="week">
-
-
tableindex控制tab键控制网页时的顺序
-
文件选择框 type="file"
注意:需要将form的method设置为post,enctype设置为multipart/form-data
属性:multiple 无值属性,设置多文件上传(按住ctrl选择)
-
form元素的enctype属性
- enctype属性在get请求中会被忽略,在post请求中才有效
- application/x-www-form-urlencoded表示会对特殊字符进行转义
- text/plain 以文本的形式进行编码,不会对特殊字符进行编码
- multipart/form-data向服务器发送二进制文件的时候有用,例如提交文件!!!
-
canvas在大部分情况下,需要遵循的「最佳实践」
- 将渲染阶段的开销转嫁到计算阶段之上。
- 使用多个分层的 Canvas 绘制复杂场景。
- 不要频繁设置绘图上下文的 font 属性。
- 不在动画中使用 putImageData 方法。
- 通过计算和判断,避免无谓的绘制操作。
- 将固定的内容预先绘制在离屏 Canvas 上以提高性能。
- 使用 Worker 和拆分任务的方法避免复杂算法阻塞动画运行。
-
word-break:keep-all; /* 不换行 */
white-space:nowrap; /* 不换行 */
overflow:hidden; /* 内容超出宽度时隐藏超出部分的内容 */
text-overflow:ellipsis; /* 溢出时显示省略标记...;需与overflow:hidden;一起使用*/
-
box-sizing默认情况只width只包含content的内容
padding不允许为负值
相邻块垂直方向会合并,水平方向不会
div固定宽高,超出后会溢出,不设置宽高,超出后会自动拓展
-
PostCSS:转换CSS的工具
BEM:命名规范block-name__element-name--modifier-name,也就是模块名 + 元素名 + 修饰器名,以保证命名不会冲突
LESS、SASS都是CSS预处理器
-
for ... in 循环可以遍历自身和继承上所有可以枚举的属性
-
preventDefault() 阻止事件默认行为 return false
stopPropagation() W3C标准的阻止冒泡
cancelBubble() ie的阻止冒泡
-
JavaScript模块化规范:在 ES6 之前,业界流行的是社区制定的一些模块加载方案,如 CommonJS 和 AMD 。而 ES6 Module 作为官方规范,且浏览器端和服务器端通用,未来一定会一统天下,但由于 ES6 Module 来的太晚,受限于兼容性等因素,可以预见的是今后一段时期内,多种模块化方案仍会共存。fetch是用来发送网络请求的,并不是用来存储数据的
- ES6 Modue 规范:JavaScript 语言标准模块化方案,浏览器和服务器通用,模块功能主要由 export 和 import 两个命令构成。export 用于定义模块的对外接口,import 用于输入其他模块提供的功能。
- CommonJS 规范:主要用于服务端的 JavaScript 模块化方案,Node.js 采用的就是这种方案,所以各种 Node.js 环境的前端构建工具都支持该规范。CommonJS 规范规定通过 require 命令加载其他模块,通过 module.exports 或者 exports 对外暴露接口。
- AMD 规范:全称是 Asynchronous Modules Definition,异步模块定义规范,一种更主要用于浏览器端的 JavaScript 模块化方案,该方案的代表实现者是 RequireJS,通过 define 方法定义模块,通过 require 方法加载模块。require.js是amd规范的实现者,不是规范。
-
如果不定义cookie的过期时间,那么cookie 的过期时间就会是会话期间,也就是说,此时的cookie是和sesstion等效的,唯一的不同是此种cookie是存储在客户端的内存中,Session是存储在服务器端的内存中
-
addEventListener第三个参数默认为fasle,为false时事件流为事件冒泡。事件开始由最具体的元素接受
-
map遍历回调函数传两个参数,第一个是item,第二个是index,这里返回的是index,即数组下标