运算符
算术:+ 加、- 减、* 乘、/ 除、% 取模(也叫取余)
余数就是不能整除的多出来的那部分 比如说 23除以5 等于4.6 保留整数4舍弃小数.6 然后用保留的整数4乘以5等20 最后用23减20等3 这个剩下的3 就叫做余数
1
2
|
例如12取5的余数 alert(12%5); |
实例:隔行变色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
window.onload= function ()
{
var aLi=document.getElementsByTagName( 'li' ); //数组获取所有li
for ( var i= 0 ;i<aLi.length;i++) //循环,i=0 i小于li个数,每循环一次i+1
{
if (i% 2 == 0 ) //如果i除2余数等于0
{
aLi[i].style.background= '#ccc' ; //0 2 4 6...双数的时候
}
else {
aLi[i].style.background= '#fff' ; //1 3 5 7...单数的时候
};
};
};
<body> <ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body> |
实例 : 秒转时间
1
2
3
4
5
6
7
8
9
10
11
12
|
var s=156; //定义变量秒156
alert(s/60+ '分钟' ) //秒除以60+字符串分钟弹出结果2.6分钟
var s=156; //定义变量秒156
alert(parseInt(s/60)+ '分钟' ); //使用parseInt取整数后弹出结果为2分钟
var s=156; //定义变量秒156
alert(parseInt(s/60)+ '分钟' +s%60+ '秒' ); //秒除以60+字符串分钟结果2.6分钟再+s秒除以60+字符串秒结果2分钟36秒
1345秒等于多少分钟多少秒
var s=1345;
alert(parseInt(s/60)+ '分钟' +s%60+ '秒' );
|
赋值:=、+=、-=、*=、/=、%=
1
2
3
|
i=i+1 //自增,自己加1,可以简化成i++也可以简化成i+=1作用是一样的
++每次只能加一个,就是每次运行时只+1 比如需要一次加3的话就应该这样写i=i+3或i+=3 |
关系:<、>、<=、>=、==、===、!=(不等)、!==(不等等,隐式转换)
逻辑:&& 与并且、|| 或、! 否 && 与并且 : 多个条件必须同时成立
1
2
3
4
5
6
7
8
9
|
&& 与并且判断n是不是一个两位数 var n=123;
if (n>9 && n<100) //如果n小于9并且n小于100
{ alert( "n是两位数" )
} else {
alert( "n不是两位数" )
}; |
|| 或 : 多个条件成立一个即可
! 否 : 真的变假的,假的变真的,真假值互换一下
1
2
|
alert(! true ); //加个!号真变成假
alert(! ! true ); //加两个!号真变成假再变成真
|
运算符优先级:括号
程序流程控制
判断:if、switch、?:
1
2
3
4
5
6
7
8
|
if 的基本用法
if (条件)
{
如果条件成立执行的语句
}
else {
如果条件不成立执行的语句
}
|
1 2
3
4
5
6
7
8
9
10
11
12
13
|
if 的高级用法
if (条件1)
{
如果条件1成立执行的语句
}
else if (条件2)
{
如果条件1不成立,条件2成立的话执行的语句
}
else {
当所有条件都不成立时,执行的语句
}
一个 if 里面可以有无限个 else if ()但只能有一个 else
|
switch的用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
var name= "abc" ;
var sex= "男" ;
switch (放变量)
{ case 值1: //当变量等于值1的时候执行
break ;
case 值2: //当变量等于值2的时候执行
break ;
case 值3: //当变量等于值3的时候执行
break ;
default : //如果值都不满足变量,执行这里
} 示例: var name= "abc" ;
var sex= "男" ;
switch (sex)
{ case '男' :
alert(name+ "先生你好" ); //当变量等于值1的时候执行
break ;
case '女' :
alert(name+ "女生你好" ); //当变量等于值2的时候执行
break ;
default :
alert(name+ "你好" ); //如果值都不满足变量,执行这里
}; |
?三元(也叫三目)运算符
if循环的简写,和if的作用是一样的
格式 : 条件?语句1:语句2;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
判断单双数示例用 if 来写
var a=12;
if (a%2==0)
{ alert( "双数" );
} else { alert( "单数" );
} 判断单双数示例用?来写 var a=55;
a%2==0?alert( '双数' ):alert( '单数' );
|
跳出:break、continue
break、continue是循环里特有的语句
break : 中断
continue : 继续
1
2
3
4
5
6
7
8
9
|
for ( var i = 0; i < 5; i++) //循环i从0开始循环,i到小于5循环结束,每次循环i自身+1
{ if (i==2) //如果i=2时
{
break ; //跳出停止整个循环
continue ; //当i等于2时跳过本次循环
}
alert(i); //弹出i的值
}; |
什么是真、什么是假:
真:true、数字,、字符串、对象,都是真的.(有东西的时候都是真的) 假:false、数字零、空字符串、null空对象、undefined,都是假的.(没有东西的时候都是假的)
什么是Json
Json个数组一样都是用来存东西的.
1
2
3
4
5
6
|
json,和数组一样,是用来存东西的,例如存放变量 数组用的是[]括号,json用的是{}括号里面东西的格式是名字:值各个数据之间用逗号分隔 var json={a:12,b:5,c: 'abc' }
alert(json.a); //可以直接调用json里面存放的某个变量
json.b++ //json里的数据也可以直接进行变量操作
alert(json.b); |
json和数组
1
2
3
4
5
6
7
8
9
10
11
|
var json={a:12,b:5,c:7}; //json
alert(json.a); //从json中获取a
alert(json[ 'a' ]); //也可以写成这样.
var arr=[12,5,7]; //数组
alert(arr[0]); //从数组中获取第一个数字
alert(arr.length); //数组的length属性(数组所包含的个数)
//json和数组的其别: //1json的下标是一个字符串['a'];数组的下标是一个数字[0] //2数组有一个重要的属性,length,而json是没有的. |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// 数组的两种循环 //第一种 使用length var arr=[12,5,7];
for ( var i=0;i<arr.length;i++)
{ alert( '第' +i+ '个东西:' +arr[i]);
} //第二种 使用 for in var arr=[12,5,7];
for ( var i in arr)
{ alert( '第' +i+ '个东西:' +arr[i]);
}; |
1
2
3
4
5
6
|
//json没有length属性,那么怎么循环它呢?它同样可以使用数组的第二种方法 for in var json={a:12,b:5,c:7};
for ( var i in json)
{ alert( '第' +i+ '个东西:' +json[i]);
} |
当碰到数组的时候,最好还是用for 的从0到length的方法循环,只有在碰到json的时候才使用for in的方法循环.这样不容易出问题.