@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
flash,iframe,jsonp,本地代理,postMessage,http请求头设置Access-Control-Allow-Origin
Html部分:
<div id="box">div>
CSS部分:
#box { width: 100px; height: 50px; margin: 5px 2px 3px; padding:
3px 2px 1px; border: 3px solid #000; }
width: 110px; height: 60px
① display: none;
② visibility: hidden;
③ position: absolute; left: -99999px; top: -99999px;
④ width: 0; height: 0; overflow: hidden;
margin: -99999px 0 0 -99999px;
⑤ opacity: 0;
⑥ transform: scale(0);
px的值是固定的,是指像素单位。
- 使用px会在浏览器放大或缩小的页面布局被打破
em的值不是固定的,相对于父元素的字体大小。
- 浏览器默认字体大小是16px
- 默认会在一开始全局设定font-size: 62.5%,这样以后1em = 10px
rem的值也不是固定的,相对于html节点的字体大小;
:root { width: 10px\0; +width: 20px; _width: 10px; } 注意顺序不可颠倒
(function(){})()
-moz、-webkit、-ms
border-radius
JSON.stringify
new Date().getTime()
width=device-width
【换行】
块级元素会独占一行.
行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化.
元素种类 | width/height | padding/margin |
---|---|---|
块级元素 | 可设置 | 可设置 |
行内替换 | 可设置 | 可设置 |
行内非替换 | 不能设置,由实际内容决定 | 只在水平方向上有效 |
块级元素对应于display:block
行内元素对应于display:inline
_width:10px\9;*width:10px;_width:10px;
结构HTML,表现CSS,行为JS
①、插入四个空标签,设置flex:1
<ul class="share-list">
<li class="gap">li>
<li class="share-item">li>
<li class="gap">li>
<li class="share-item">li>
<li class="gap">li>
<li class="share-item">li>
<li class="gap">li>
ul>
.share-list{
display: flex;
}
.share-item{
width: 80px;
height: 80px;
}
.gap{
flex: 1;
width: 1%;
}
用box-shadow或outline
Box-shadow: background:yellow;
Box-shadow: 0 0 0 5px red,
0 0 0 10px black;
Outline: background:yellow;
border: 5px solid red,
outline:5px solid black;
MVC 是一种使用 MVC(模型-视图-控制器)设计创建 Web 应用程序的模式:
Model(模型):表示应用程序核心;
View(视图):显示数据;
Controller(控制器):处理业务;
所有通信都是单向的;
本质是:将数据展示和数据进行隔离,提高代码的复用性和扩展性。
MVC 模式的这三个部分的职责非常明确,而且相互分离,因此每个部分都可以独立的改变而不影响其他部分,从而大大提高了应用的灵活性和重用性;
当controller(控制器)变得很大,混杂了各种逻辑,越来越难以维护:
① 一切都和ViewModel交流
② View和Model之间没有联系;
① 视图中数据的变化会同步到数据源;
② 数据源的修改会反应到视图中。
会造成内存泄漏的操作:
1、闭包引起的内存泄漏;
2、意外的全局变量引起的内存泄漏;
3、没有清理的DOM元素引起的内存泄漏;
4、被遗忘的定时器或者回调函数;
5、子元素存在引用引起的内存泄漏;
javaScript包含核心(ECMAScript)、文档对象模型(DOM)、游览器对象模型(BOM)
ECMAScript是JavaScript的规范,JavaScript是ECMAScript的实现。
是CSS预处理器。
比CSS多出很多功能:变量、函数、嵌套、运算、颜色处理等;
缺点:
1 css的文件大小、复杂度不可控制;
2 调试难度增加等
1.对应border(边框)矩形的左上角。
2.可以。使用background-origin.
background-origin:border-box | padding-box | content-box.
padding-box:背景图下相对于内边距定位。
border-box:背景图像从边框开始显示。
content-box:背景图像从内容开始显示。
null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。
当声明的变量还未被初始化时,变量的默认值为undefined。
null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
undefined表示”缺少值”,就是此处应该有一个值,但是还没有定义。
解析方式不同
严格模式:按照w3c标注解析渲染页面,以浏览器支持的最高标准运作。(如果页面上有完整的dtd声明则是严格模式)
混杂模式:页面以宽松的向后兼容的方式显示。(即可实现IE5.5以下版本浏览器的渲染方式)
background: linear-gradient(to bottom left, #fff, #000)
header、hgroup、nav、aside、section、article、footer、figure、menu
ArrayBuffer、TypeArray、DataView
<html lang="en">
<head>
<meta charset="UTF-8">
<title>promisetitle>
<style>
html,body{
width: 100%;
margin: 0;
padding: 0;
font-size: 0;
}
.left{
background: green;
}
.right{
background: purple;
}
.pink-color{
background: pink;
box-sizing: border-box;
border: gray 10px solid;
}
.yellow-color{
background: yellow;
box-sizing: border-box;
border: gray 10px solid;
}
.black-color{
background: black;
box-sizing: border-box;
border: gray 10px solid;
}
.container{
width: 100%;
margin: 0 auto;
}
@media (min-width: 960px){
.container{
width: 960px;
}
.left{
width: 16.6%;
height: 300px;
display: inline-block;
}
.center{
display: inline-block;
width: 74.999%;
font-size: 0;
height: 300px;
}
.right{
display: inline-block;
width: 8%;
height: 300px;
}
.pink{
width: 100%;
display: inline-block;
height: 33.3%;
}
.yellow{
width: 25%;
display: inline-block;
height: 33.3%;
}
.black{
width: 50%;
display: inline-block;
height: 33.3%;
}
}
@media (min-width: 768px) and (max-width: 960px) {
.container{
width: 960px;
margin: 0 auto;
}
.pink,.yellow,.black{
width:100%;
height: 100px;
}
.center{
float: left;
width: 33.3%;
border: 10px white solid;
border-top: 0;
}
.left{
float: left;
width: 30%;
height: 100px;
}
.right{
float: left;
width: 33.3%;
height: 100px;
}
}
@media (max-width: 768px){
.container{
width: 100%;
height: 100px;
}
.left,.right{
width: 100%;
display: block;
height: 100px;
}
.center{
width: 100%;
}
.pink,.yellow,.black{
width: 100%;
height: 100px;
}
}
style>
head>
<body>
<div class="container">
<div class="left">div>
<div class="center">
<div class="pink pink-color ">div>
<div class="yellow yellow-color">div>
<div class="yellow yellow-color">div>
<div class="black black-color">div>
<div class="black black-color">div>
<div class="yellow yellow-color">div>
<div class="yellow yellow-color">div>
div>
<div class="right">div>
div>
body>
html>
class Chain {
constructor() {
this.size = 0;
this.head = null;
}
travel() { } // 遍历
getHead() { } // 得到链表head
insertHead(data) {
let node = new Node();
this.size++;
if (this.head === null) {
node.prev = node;
node.next = node;
this.head = node;
} else {
let p = this.head;
node.prev = p.prev;
node.next = p;
p.prev.next = node;
p.prev = node;
}
}
}
class Node {
constructor(data) {
this.next = null;
this.prev = null;
this.data = data;
}
}
function getCounter(){
var i = 0;
return function(){
i++;
console.log(i);
}
}
var counter=getCounter();
counter();
区别:【能答对一半即可】
1. http 的URL 以http:// 开头,https以https:// 开头
2. http 标准端口是80 ,https是443
3.https 协议需要到ca申请证书,http不需要。
4.http 是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议
5.http 的连接很简单,是无状态的,https协议是由SSL+http协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全
优点:
1. 通过证书可以更信任服务器
2. 更安全,防篡改
缺点:
1. https 需要证书。
2. 因为对传输进行加密,会一定程度增加cpu消耗。
3. 由于https 要还密钥和确认加密算法的需要,所以首次建立连接会慢一些。
4. 带宽消耗会增加。
RTT,客户端到服务器往返时间。RTO,重传超时时间。
(1)创建一个新对象;
(2)将构造函数的作用域赋给新对象(因此this就指向了这个新对象);
(3)执行构造函数中的代码(为这个新对象添加属性);
(4)返回新对象。
是否会进行强制类型转换
为了在移动设备上支持多媒体
static、fixed、relative、absolute
重排(也叫回流,reflow)
$ * () + . [ ? \ ^ | {
reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一