1.css3的:nth-child(n)选择器
选择器匹配属于其父元素的第 n个子元素,不论元素的类型。(第一个子元素的下标是 1)
even是偶数,odd是奇数。
p:nth-child(even){
/*偶数*/
color:red;
}
p:nth-child(odd){
/*奇数*/
color:green;
}
<h1>标题</h1>//第一个元素
<p>第一行</p>//第二个元素,偶数
<p>第二行</p>//第三个元素,奇数
<p>第三行</p>
<p>第四行</p>
2.css3的:nth-of-type(n)匹配属于父元素的特定类型的第n 个子元素的每个元素。
p:nth-of-type(1){
color:green;
}
<h1>标题</h1>
<p>第一行</p>//第一个p元素,绿色
<p>第二行</p>
<p>第三行</p>
<p>第四行</p>
2.变量与内存
局部变量存放在内存的栈中。由编译器自动分配释放。
全局变量和静态变量存放在内存的全局区(静态区)。程序结束后有系统释放。
动态创建的变量存放在内存的堆中。一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。
常量字符串放在文字常量区,程序结束后由系统释放。
程序代码区:存放函数体的二进制代码。
3.一个web服务器上配置多个域名–虚拟主机vhost配置(针对wamp)
(1)C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf中将虚拟路径的注释去掉 #Include conf/extra/httpd-vhosts.conf
(2)对httpd-vhosts.conf进行配置。
<VirtualHost *:80>
ServerName www.blog.com
ServerAlias www.blog.com
DocumentRoot "C:/wamp/www/mindong/frontend/web"
</VirtualHost>
<VirtualHost *:80>
ServerName admin.blog.com //域名
ServerAlias admin.blog.com //别名
DocumentRoot "C:/wamp/www/mindong/backend/web" //映射到的文件路径
</VirtualHost>
(3)找到C:/WINDOWS/system32/drivers/etc/host这个文件,用记事本打开,加上如下内容:
127.0.0.1 www.blog.com
127.0.0.1 admin.blog.com
4.yarn–快速可靠安全的依赖管理器
yarn与npm是相同功能的工具,但是yarn比npm快了很多,而且能离线缓存。当断网时,曾经下载过的包,依然可以下载。
一些简单命令:
//用npm安装yarn
npm install -g yarn
//yarn初始化package.json,注意package.json必须是有效的json文件,不能使用尾逗号
yarn init
//安装
yarn add 包名
yarn add --dev 包名
//执行package.json中的scripts
yarn start
//卸载包
yarn remove 包名
yarn会生成一个yarn.lock的文件,记录了安装的所有包的版本信息,应该把它提交到git仓库中,确保团队中的每个人都使用相同的版本。
(个人实践后觉得,没有cnpm好用,用yarn时甚至把电脑卡死了,不得不重启)
5.服务器收到一个http请求时,会解析请求头和请求体,创建一个response报文返回。
6.树的先序、中序、后序遍历。
已知先序和中序,可以求后序。先序从左到右依次为根,划分中序为左右子树。
已知中序和后序,可以求先序。先序从右到左依次为根,划分中序为左右子树。
7.盒子模型有两种:
(1)主流浏览器margin、border、padding、width
(2)IE浏览器的某些版本margin、border、width(包含了padding)
box-sizing:content-box | border-box | inherit
box-sizing:content-box宽度和高度为元素内容框的宽度和高度。
box-sizing: border-box 宽度和高度为元素边框盒的宽度和高度。
应用:四栏等宽自适应布局
<style>
body{
margin: 0;
padding: 0;
}
.listbox{
width: 100%;
overflow: hidden;
}
ul{
margin: 0;
padding: 0;
list-style: none;
margin-right: -20px;//宽度auto,margin-right负值可以扩宽20px
}
li{
width:25%;
padding-right:20px;
float: left;
box-sizing:border-box;//盒子模型
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
}
.list div{
background-color: red;
width:100%;
height: 100px;
}
</style>
<div class="listbox">
<ul class="list">
<li>
<div></div>
</li>
<li>
<div></div>
</li>
<li>
<div></div>
</li>
<li>
<div></div>
</li>
</ul>
</div>
8.js快速排序
function Partition(arr,l,r){
var x=arr[l];
var i=l;
var temp;
var j=r+1;
while(1){
while(arr[++i]<x&&i<r);
while(arr[--j]>x);
if(i>=j)break;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
arr[l]=arr[j];
arr[j]=x;
return j;
}
function QuickSort(arr,l,r){
if(l<r){
var q=Partition(arr,l,r);
QuickSort(arr,l,q-1);
QuickSort(arr,q+1,r);
}
}
var arr=[41,62,13,84,35,96,57,39,79,61,15,83];
QuickSort(arr,0,11);
console.log(arr);
9.js二分查找
function BinarySearch(arr,num){
var l=0;
var r=12;
var count=0;
while(l<=r){
var middle=Math.floor((l+r)/2);//向下取整数
if(arr[middle]==num)return middle;
else if(arr[middle]>num){
r=middle-1;
}else{
l=middle+1;
}
count++;
}
console.log(count);//比较次数
return -1;
}
var arr=[3,4,10,13,33,42,46,63,76,78,95,98,120];
var num=12;
var res=BinarySearch(arr,num);
if(res==-1)console.log('未找到');
else console.log("%d的位置为%d",num,res);
10.一些标签
<b>
加粗
<i>
斜体
<strong>
非常强调
<em>
强调
<del>
中划线(删除)
<ins>
下划线(插入)
<mark>
背景高亮
11、浏览器允许的并发请求资源数
浏览器的并发请求数目限制是针对同一域名的。即,同一时间针对同一域名下的请求有一定数量限制。超过限制数目的请求会被阻塞。
不同浏览器这个限制的数目不一样:
一般以chrome作为标准,认为6个。