1.html5新增的特性
(1)语义化标签
header(头部)、 foot(底部)、nav(导航)、section(定义文档中的章节)、dialog(提示框)、aside(侧边栏)
(2)增强型表单
input输入类型: color、date、email、month、number、range(一定范围内数字值的输入域)、search(搜索域)、tel(输入电话号码字段)、time(选择一个时间)、url(url地址的输入域)、week(选择周和年)
(3)视频和音频
提供了播放音频文件的标准,即使用audio元素,control属性供添加、播放、暂停和音量控件
提供了包含视频文件的标准,vedio元素,control提供了播放、暂停、和音量控件来控制视频,可以使用dom操作来控制视频的播放和暂停,如play()和pause()方法
(4)canvas画图
高斯模糊
(5)地理定位
定位用户信息(经纬度)
2.CSS的盒子模型
(1)盒模型的概念
盒子模型(box model)。网页中,每一个元素都占有一定的空间,无论是div、h1~h6、还是p,都可以看成是盒子。
(2)盒模型的组成
元素的内容(content),
元素的内边距(padding),内容与边框之间的距离
元素的边框(border),
元素的外边距(margin),边框与外部元素之间的距离
四个部分,这四个部分一起构成了盒子模型。
盒子模型示意图如下:
3.什么是bfc
(1)BFC 定义
BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干
(2)触发BFC的方式
浮动元素,float不为none的值
1. left(左浮动),
2. right(右浮动)
定位元素,position
1. absolute(绝对定位),
2. fixed(固定定位)
display为以下其中之一的值时
1. inline-block(行内块),
2. table-cell(表格单元格,元素会作为一个表格单元格显示(类似 td 和 th标签)),
3. table-caption(表格标题,元素会作为一个表格标题显示(类似 caption标签)),
4. flow-root(css新增的属性,专门用于触发BFC,但是兼容性差,父元素加上display:flow- root 便触发)
overflow不为visible
1. hidden(内容会被修剪,多出的内容不可见),
2. scroll(内容会被修剪,但是浏览器会显示滚动条以便查看多出的内容),
3. auto(自适应,如果内容被修剪,浏览器会显示滚动条以便查看多出的内容)
4.JS数据类型
(1)基本数据类型包括undefined、null、number、boolean、string;
(2)引用数据类型也就是对象类型Object,比如:Object、array、function、data等
5.如何判断数据类型
1、typeof
使用typeof可以判断基本数据类型,在使用typeof判断引用数据类型时除了判断function时返回function类型,其他引用类型返回的都是object。并且返回的数据类型是字符串形式的小写
使用方法:typeof a
返回格式为:string
2、instanceof
使用instanceof可以判断已知的引用数据类型、不能判断基本数据类型。instanceof可以判断一个值是否属于某种类型、instanceof也可以判断在继承时一个实例是否属于它的父类型。可以通过构造函数的方式进行判断基本数据类型。
使用方法:[1,2,3,4] instanceof Array;
3、constructor
constructor是prototype对象上的属性,指向构造函数。constructor除了null和undefined无法判断,其他的数据类型都可以判断,但是对于继承类型的数据有可能会出错、因为Object被覆盖掉了,检测结果就不对了
使用方法:([1,2,3,4]).constructor
返回格式为:ƒ Array() { [native code] }
4.Object.prototype.toString.call()
Object.prototype.toString.call()是通用于所有的数据类型,返回的是构造函数的类型,
使用方法:Object.prototype.toString.call([1,2,3,4])
返回格式为:[object Array]
6.如何判断一个变量是数组类型
typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:
let arr = [1, 2, 3]
console.log(typeof arr)
// object 最后输出