前端语言基本能力
- HTML(Hypertext Markup Language):构建框架结构(骨骼)
- 控制内容布局
- 为Web设计提供层次结构
- 所有页面的基石
- CSS(Cascading Style Sheet):层叠样式表(皮囊)
- 为元素添加样式
- 适配不同的尺寸屏幕,使网站具备响应式的特征
- 是网站外表和体验最重要的工具
- JavaScript:增加交互体验(肌肉)
- 处理复杂的函数及特性
- 编程代码保证更高的效率和可用性
HTML
大量标签(元素)构成的文本文件,一门标记性语言
- 标签分类
- 文档型
<!DOCTYPE>
<head>
<body>
- 闭合型
闭合标签(包含内容) <p></p>
空标签(换行,表示属性) <br> <img> <input>
- 换行型
块级标签<div>
行内标签<span> <a>
- H5新元素
语义化标签
媒体标签<video> <audio> <embed>
表单标签<input type="data"> <input type="color">
功能标签<cancas> <progress>
- head标签
- title:标题,全局唯一
- base:向页面所有相对URL提供前缀(全局唯一,不建议使用)
- meta:通常是约定好的键值对(例外:charset字符集、http-equiv描述符)
- link:rel决定类型,href决定引入地址
- script:type指定MIME类型,可内嵌代码,可外链文件
CSS
Selector{Property:value;Property:vaklue;}
JavaScript
借鉴C语言的基本语法;借鉴java语言的数据类型的内存管理;借鉴Scheme语言,将函数提升到第一等公民的地位;借鉴Self语言,使用基于原型(prototype)的继承机制
- 基本能力
- 校验用户输入
- 简单的客户端计算
- 交互控制
- 平台无关性
- 处理数据和时间
- 生成HTML内容
- 监测用户浏览器
- 现代特性
- 块级作用域变量let/Const
- 箭头函数
- 字符串模板
- 扩展数组方法
- 支持默认参数
- 变量重命名
- js是单线程的,采用了eventloop机制
- 执行一个宏任务(栈中没有就从事件队列中获取)
- 执行过程中如果遇到微任务,就将它添加到微任务的任务队列中
- 宏任务执行完毕后,立即执行当前微任务队列中的所有微任务(依次执行)