CSS
1.标准模型:=w3c的标准的盒子模型
宽度 =margin(左右外边距)+padding(左右内边距)+border(左右边框)+内容的(width).
2.怪异盒子模型—==IE模型(width = padding+ border+content)
宽度=内容的(width)+margin(左右)(这里的内容width包含了padding(左右内边距)+border(左右边框))。
box-sizing
box-sizing:content-box; /默认标准盒子/
box-sizing:border-box; /IE盒子/
3.响应式布局–暂定五种
百分比布局
rem布局: rem相对于根元素;em相对于父元素
媒体查询 @media screen ---->针对不同屏幕设置不同样式等等
vw 和 vh -----> 100vw 100vh 全屏(vmin 和 vmax 表示vw和vh中最小或者最大的值)
Flex布局
任何元素:
.wrap{ display:flex; }
针对行内元素:
.box{ display: inline-flex; }
Webkit内核的浏览器,必须加上-webkit前缀。
.box{ display: -webkit-flex; /* Safari */ display: flex; }
flex-direction
flex-wrap
flew-flow
justify-content
align-items
align-content
Js
1. 面向对象: 待深入学习
特点:封装、继承、多态
封装优点:高内聚,低耦合;类内部的结构可以自由修改;可以对成员变量进行更精确的控制;可以对成员变量进行更精确的控制。
面向对象的三个特点
(1)封装:创建一个对象,集中存储一个事物的属性和功能
(2)继承:父对象中的成员,子对象无需重复创建,就可直接使用
(3)多态:同一事物,在不同情况下,表现出不同的状态
ps:来源某博主
2.闭包:
闭包函数:声明在一个函数中的函数,叫做闭包函数。
闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数执行完毕.
优点:函数中的变量长期存在
避免全局变量污染
变量成为 私有成员属性的存在
缺点:常驻内存 会增大内存的使用量 ;
使用不当会造成内存泄露
作用域:
ps:来源某博主
作用域链:
如果一个函数内需要使用一个变量,函数内有变量直接使用,如果没有,向外一层层查找,直到window结束,变量向上查找的过程,形成作用域链
3.原型链
构造函数:使用NEW 关键字来创建对象的函数
ps:来源某博主
原型对象:
在js中每个函数都有prototype(显式原型)属性,这个属性指向的是一个对象,也就是所谓的原型对象。
Person.prototype()
对于原型对象来说,有一个constructor属性,指向它的构造函数
Person.Prototype()----> construtor
ps:来源某博主
注:constructor是原型对象的属性
ps:来源某博主
隐式原型:proto
ps:来源某博主
首先:由多级父对象逐级继承,形成的链式结构(从一个实例对象向上找有一个构造实 例的原型对象,这个原型对象又有构造它的上一级原型对象,如此一级一级的关系 链,就构成了原型链),
再次:在原型链中保存了当前对象可用的所有属性以及控制着属性的使用顺序
总结:
构造函数是使用了new关键字的函数,用来创建对象,所有函数都是Function()的实例
原型对象是用来存放实例对象的公有属性和公有方法的一个公共对象,所有原型对象都是Object()的实例
原型链又叫隐式原型链,是由__proto__属性串联起来,原型链的尽头是Object.prototype