padding与margin的选择
1.盒子需要使用背景图的时候必须用padding,margin不能设置背景。
2.会出现外边距合并或者margin塌陷的时候用padding,上下盒子都使用margin的时候,容易合并。
3.行内元素上下只能设置padding,不能设置margin。
4.看border,如果是a连接,看能不能让字体变色,或者显示小手。
5.根据开发过程中的需求来决定。
1.盒子需要使用背景图的时候必须用padding,margin不能设置背景。
2.会出现外边距合并或者margin塌陷的时候用padding,上下盒子都使用margin的时候,容易合并。
3.行内元素上下只能设置padding,不能设置margin。
4.看border,如果是a连接,看能不能让字体变色,或者显示小手。
5.根据开发过程中的需求来决定。
.one{
width: 100px;
height: 100px;
background: #C81623;
border-radius: 50%;
}.one{
width: 20px;
height: 20px;
background: #C81623;
border-radius: 50% 50% 50% 0;
}.one{
width: 100px;
height: 100px;
background: #C81623;
border:20px solid yellow;
border-radius: 50%;
} .one{
width: 200px;
height: 100px;
background: #C81623;
border-radius: 50%;
} JavaScript实现动态时钟以及分时问候
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript实现动态时钟以及分时问候</title>
</head>
<body>
<div id="time">
</div><div id="timeShow"></div>
</body>
</html>
<script language="javascript">
var t = null;
t = setTimeout(time,1000);//开始执行
function time()
{
clearTimeout(t);//清除定时器
dt = new Date();
h=dt.getHours();
m=dt.getMinutes();
s=dt.getSeconds();
if(h < 6){document.getElementById("time").innerHTML = "凌晨好";}
else if (h < 9){document.getElementById("time").innerHTML = "早上好";}
else if (h < 12){document.getElementById("time").innerHTML = "上午好";}
else if (h < 14){document.getElementById("time").innerHTML = "中午好";}
else if (h < 17){document.getElementById("time").innerHTML = "下午好";}
else if (h < 19){document.getElementById("time").innerHTML = "傍晚好";}
else if (h < 22){document.getElementById("time").innerHTML = "晚上好";}
else {document.getElementById("time").innerHTML = "夜里好";}
document.getElementById("timeShow").innerHTML = "当前时间:"+h+"时"+m+"分"+s+"秒";
t = setTimeout(time,1000); //
}
</script> 默认情况下WebStorm没有 Sublime text 3主题的
我们可以从githuab上下载https://github.com/OtaK/jetbrains-monokai-sublime
解压之后,会得到一个Monokai-Sublime.jar文件,这个文件就是配色的打包文件,可以使用 webstorm 导入即可。
点击File->Import Settings...选择Monokai-Sublime.jar,一直点击OK,最后自动重启就可以了。
数组的定义var array = new Array();或者var array = [];
注意:var arr = new Array(参数);参数位置一个数值时为数组长度,多个数值时为数组中的元素。数组是一种数据类型。
数组的长度
数组的长度 = 数组名.length;
可以通过修改数组的长度来改变数组中元素的个数,如果改小了,数组从后面删除元素。(伪数组的长度可以修改,但是不能修改里面的元素)
赋值
数组中通过下标的方式进行赋值。下标从0开始:array[0]="ddd";。
数组的初始化var array = [3,2,"xiaoning"];//字面量定义
数组的遍历
获取数组中的元素:数组中的指定元素 = 数组名[索引值];
数组的索引代表的是数组中的元素在数组中的位置,从0开始。
如果获取数组中元素是,数组名[索引值],没有指定索引(元素没那么多),系统不报错,而是给定值为undefined;
for(var i = 0;i<array.length();,i++){
document.write(array[i]);
}注意:通过数组名.length获取数组长度(元素个数)。数组的长度正好可以做下一个元素的索引值。
数组的合并
使用concat方法合并数组。
var arr = new Array(3)
arr[0] = "xiao"
arr[1] = "ning"
var arr2 = new Array(3)
arr2[0] = "bo"
arr2[1] = "ke"
document.write(arr.concat(arr2))join 方法
join方法返回一个字符串数组。在每个数组元素之间添加分隔符。
函数(方法)定义和调用
通过 function 关键字
和自定义方法名 既可定义一个函数。 如下:
function test(x){ //定义
alert(x);
}
test(3);//调用注意:
顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。一般情况下都是从上向下执行。
选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。
If...else
if(条件表达式){
如果条件表达式结果为true,执行该处代码。
}else{
如果条件表达式结果为false,执行该处代码。
}if else嵌套
if(条件表达式){
如果条件表达式结果为true,执行该处代码。下边代码不执行。如果为false,执行下边代码。
}else if(条件表达式){
如果条件表达式结果为true,执行该处代码。下边代码不执行。如果为false,执行下边代码。
}else if(条件表达式){
如果条件表达式结果为true,执行该处代码。下边代码不执行。如果为false,执行下边代码。
}else{
如果上边条件表达式结果都为false,执行该处代码。
}
switch语句
switch(变量){
case 1:
如果变量和1的值相同,执行该处代码
break;
case 2:
如果变量和2的值相同,执行该处代码
break;
case 3:
如果变量和3的值相同,执行该处代码
break;
default:
如果变量和以上的值都不相同,执行该处代码
break;
}注意:
循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。
While循环
While(条件表达式){
只要条件表达式结果为true,循环一直执行,当条件表达式结果为false的时候,循环终止
}注意:While循环语句需先在循环体外定义变量。
Do while循环
Do{
循环体代码;首先执行该循环体代码一次。
如果while后边的表达式结果为true,该循环体会一直循环。
如果结果false,该循环终止。
}while(条件表达式)do...while至少循环以一次。
for循环
for(定义变量;条件表达式;自增自减){
循环体代码
}执行顺序:
注意:
1.遍历数组首选for循环,简单循环使用for。
2.而while循环强调,不记循环次数(不知道循环多少次),首选while。
3.最后do...while循环强调,无论怎样,至少执行一次是,使用do...while。
在参与运算的情况下
var i=5;var j=i++; 先将i的值5赋值给j,之后再自增。j的值为123 , i 的值为6。var j=++i; i先自增,在赋值给j。J的值为6,i的值 6。break语句
在循环体内,只要代码遇到break,程序立马结束当前循环。
当前循环指的是break语句所在的循环体。结束本循环。
continue语句
continue语句指的是跳出本次循环,该语句后面的代码不再执行,整个循环体继续循环。
定义: var num = 123;
String() :var str = String(num);变量.toString():var str = num.toString();此转换容易产生NaN,一旦被转换的变量中含有非数字字符,都容易出现NaN
定义:str1 = "123";str2="12.12";str3="123abc";str4="aaa
Number()
var num = Number(str1)//结果:123var num = Number(str2)//结果:12.12var num = Number(str3)//结果:12.12parseInt()
var num = parseInt(str1)//结果:123var num = parseInt(str2)//结果:12var num = parseInt(str3)//结果:123var num = parseInt(str4)//结果:NaNparseFloat()
注意:
方法:
var bool = Boolean("1111");//bool为true;注意:隐式数据类型转换
在运算过程中,比如算数运算,程序自己进行的数据转换来进行计算,但是不会对原变量进行数据转换。
Date() 返回当日的日期和时间。 通过new 方法创建对象。getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。getMonth() 从 Date 对象返回月份 (0 ~ 11)。getFullYear() 从 Date 对象以四位数字返回年份。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 0代表的事星期日。getHours() 返回 Date 对象的小时 (0 ~ 23)。getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。Math.ceil() 向上取整,天花板函数
Math.floor() 向下取整, 地板函数。
Math.max(n1,n2) 取两个数的最大值。Math.min(n1,n2)取两个数的最小值。Math.pow(n1,n2)返货n1的n2次方。Math.round() 进行四舍五入操作。Math.random()返回0-1之间的随机数。Math.abs(number)返回一个数字的绝对值(即该值不考虑数字是为正还是为负)。算术运算符用于执行变量与/或值之间的算术运算。
下面的表格解释了这些算术运算符:
给定 y=5
| 运算符 | 描述 | 例子 | 结果 |
|---|---|---|---|
| + | 加 | x=y+2 | x=7 |
| - | 减 | x=y-2 | x=3 |
| * | 乘 | x=y*2 | x=10 |
| / | 除 | x=y/2 | x=2.5 |
| % | 求余数 (保留整数) | x=y%2 | x=1 |
| ++ | 累加 | x=++y | x=6 |
| -- | 递减 | x=--y | x=4 |
注意:
加号(+)
减号(-)
除号
下面的表格解释了赋值运算符:
给定 x=10 和 y=5
| 运算符 | 例子 | 等价于 | 结果 |
|---|---|---|---|
| = | x=y | - | x=5 |
| += | x+=y | x=x+y | x=15 |
| -= | x-=y | x=x-y | x=5 |
| *= | x*=y | x=x*y | x=50 |
| /= | x/=y | x=x/y | x=2 |
| %= | x%=y | x=x%y | x=0 |
逻辑运算只有2个结果,一个为true,一个为false.
&&):只有两个表达式为true的时候,结果为true,其余全为false。||):只要有一个表达式为true,结果为true,其余全为false。非(!):取反,表达式为true,取反则为false;表达式为false,取反则为true。
比较运算符在逻辑语句中使用,以测定变量或值是否相等,返回值为true或false。
下面的表格解释了比较运算符:
给定 x=5,
| 运算符 | 描述 | 例子 |
|---|---|---|
| == | 等于(只比较值,不比较数据类型) | x==8 为 false |
| === | 全等(值和数据类型都比) | x===5 为 true;x==="5" 为 false |
| != | 不等于(只比较值,不比较数据类型 | x!=8 为 true |
| !== | 不全等于(值和数据类型都比) | x!==8 为 true |
| > | 大于 | x>8 为 false |
| < | 小于 | x<8 为 true |
| >= | 大于或等于 | x>=8 为 false |
| <= | 小于或等于 | x<=8 为 true |
表达式?结果1:结果2;
如果表达式结果为true,执行结果1,如果表达式结果为false,执行结果2。
var sum = 520;
var love = (sum === 520)?"520":"1314";集体声明变量时使用:var num,str;
| 1 | () |
| 2 | !、-(负数)、++、-- (正数省略+)(一元运算) |
| 3 | *、/、% |
| 4 | +、- (加,减)(二元运算) |
| 5 | <、<=、<、>= (一级逻辑运算) |
| 6 | ==、!=、===、!==、 (二级逻辑运算) |
| 7 | && (三级级逻辑运算) |
| 8 | ll |
| 9 | ?: (三元运算) |
| 10 | =、+=、-=、*=、/=、%= (赋值运算) |