前端知识点(1)

  1. p元素不能包括任何块级元素,包括自身、a标签可以包括任何元素,除了自身、tr是表格行,td是表格块,th是表头

  2. h5常用结构标签 <header></header><nav></nav><section></section><aside></aside><footer></footer><article></article>
  3. H5版本中新提出的表单控件

    1. 电子邮件

      <input type="email">

      表单提交时,会验证数据是否符号email的规范(有@,并且@后面有内容)

    2. 搜索类型

      <input type="search">

      提供了快速清除的功能

    3. url类型

      <input type="url">

      提交时,验证数据是否符合url的规范(http://****)

    4. 电话号码类型

      <input type="tel">

      在移动设备中,显示拨号键盘

    5. 数字类型

      <input type="number">

      属性:

      • value 默认显示的值
      • max 能接收到的最大值
      • min 能接收到的最小值
      • step 每次调整数字时,步数大小
    6. 范围类型

      <input type="range">

      提供一个滑块组件,允许用户选取指定范围的值

      属性:

      • value 默认显示的值
      • max 最大值
      • min 最小值
      • step 步长
    7. 颜色类型

      <input type="color">

      提供一个颜色拾取器✨

    8. 日期类型

      <input type="date">

    9. 月份类型

      <input type="month">

    10. 周类型

      <input type="week">

  4. tableindex控制tab键控制网页时的顺序

  5. 文件选择框 type="file"

    注意:需要将form的method设置为post,enctype设置为multipart/form-data

    属性:multiple 无值属性,设置多文件上传(按住ctrl选择)

  6. form元素的enctype属性

    1. enctype属性在get请求中会被忽略,在post请求中才有效
    2. application/x-www-form-urlencoded表示会对特殊字符进行转义
    3. text/plain 以文本的形式进行编码,不会对特殊字符进行编码
    4. multipart/form-data向服务器发送二进制文件的时候有用,例如提交文件!!!
  7. canvas在大部分情况下,需要遵循的「最佳实践」

    1. 将渲染阶段的开销转嫁到计算阶段之上。
    2. 使用多个分层的 Canvas 绘制复杂场景。
    3. 不要频繁设置绘图上下文的 font 属性。
    4. 不在动画中使用 putImageData 方法。
    5. 通过计算和判断,避免无谓的绘制操作。
    6. 将固定的内容预先绘制在离屏 Canvas 上以提高性能。
    7. 使用 Worker 和拆分任务的方法避免复杂算法阻塞动画运行。 
  8. word-break:keep-all;     /* 不换行 */

    white-space:nowrap;      /* 不换行 */

    overflow:hidden;         /* 内容超出宽度时隐藏超出部分的内容 */

    text-overflow:ellipsis;  /* 溢出时显示省略标记...;需与overflow:hidden;一起使用*/

  9. box-sizing默认情况只width只包含content的内容

    padding不允许为负值

    相邻块垂直方向会合并,水平方向不会

    div固定宽高,超出后会溢出,不设置宽高,超出后会自动拓展

  10. PostCSS:转换CSS的工具

    BEM:命名规范block-name__element-name--modifier-name,也就是模块名 + 元素名 + 修饰器名,以保证命名不会冲突

    LESS、SASS都是CSS预处理器

  11. for ... in 循环可以遍历自身和继承上所有可以枚举的属性

  12. preventDefault() 阻止事件默认行为  return false

    stopPropagation() W3C标准的阻止冒泡

    cancelBubble() ie的阻止冒泡

  13. JavaScript模块化规范:在 ES6 之前,业界流行的是社区制定的一些模块加载方案,如 CommonJS 和 AMD 。而 ES6 Module 作为官方规范,且浏览器端和服务器端通用,未来一定会一统天下,但由于 ES6 Module 来的太晚,受限于兼容性等因素,可以预见的是今后一段时期内,多种模块化方案仍会共存。fetch是用来发送网络请求的,并不是用来存储数据的

    1. ES6 Modue 规范:JavaScript 语言标准模块化方案,浏览器和服务器通用,模块功能主要由 export 和 import 两个命令构成。export 用于定义模块的对外接口,import 用于输入其他模块提供的功能。
    2. CommonJS 规范:主要用于服务端的 JavaScript 模块化方案,Node.js 采用的就是这种方案,所以各种 Node.js 环境的前端构建工具都支持该规范。CommonJS 规范规定通过 require 命令加载其他模块,通过 module.exports 或者 exports 对外暴露接口。
    3. AMD 规范:全称是 Asynchronous Modules Definition,异步模块定义规范,一种更主要用于浏览器端的 JavaScript 模块化方案,该方案的代表实现者是 RequireJS,通过 define 方法定义模块,通过 require 方法加载模块。require.js是amd规范的实现者,不是规范。
  14. 如果不定义cookie的过期时间,那么cookie 的过期时间就会是会话期间,也就是说,此时的cookie是和sesstion等效的,唯一的不同是此种cookie是存储在客户端的内存中,Session是存储在服务器端的内存中

  15. addEventListener第三个参数默认为fasle,为false时事件流为事件冒泡。事件开始由最具体的元素接受

  16. map遍历回调函数传两个参数,第一个是item,第二个是index,这里返回的是index,即数组下标

posted @ 2020-03-14 10:28  SophialIana  阅读(114)  评论(0编辑  收藏  举报