目录
视频10
关系运算符
关系运算符有 > >= < <= == === != !==
例子:
var a=55,b=6;
alert(a>b);
关系成立的时候 这个值就是true 关系不成立的时候就是false
var x= 100;
var y= “100”
数值型的和字符串的是相等的 x==y 这个只比较数值但是不比较数据类型
x===y 这个是比较数值和数据类型的 不但要比较值是不是一样 还要比较数据类型是不是一样的
alert(x!=y)//比较数值不比较数据类型 所以得出的是false
alert(x!==y)//比较数值 也比较数据类型 所以得到的是true
关系运算符的结果只有true和false两种
视频11
条件运算符
js的条件运算符是由?:构成的,条件运算符形式:表达式?值1:值2
先判断?前面的表达式是true还是false,是true则取前面
例子:判断一个数是不是偶数
var num1=8;
var result=num1%2==0?“偶数”:“奇数”
alert(result);
例子2:判断一个数是正数还是负数还是零
var num2=66;
num2>0?“正数”:(num2<0?“负数”:“是零”)
alert(result);
视频12
逻辑运算符
与 或 非
&& || !
例子:判断两个成绩是不是都及格
var h5=56,js=67;
h5>=60&&js>=60;
与:两真为真,一假全假
或:两假为假,一真全真
非: 非就是将真变假,将假变真
例子:
var r3=!(h5>60);
alert(r3);
弹出的就是true
例子:
判断一个年份是不是闰年:(能被4整除但是不能被100整除,或者能被400整除)
var year=2016;
var r4 = year%4==0&&year%100!=0||year%400==0?“是闰年”:“不是闰年”;
alert(r4);
视频13
逻辑运算符
逻辑运算符的特点
逻辑运算符在使用时需要注意的问题
例子:
var a=5,b=6;
alert(a<1 && ++b>5);
alert(b);//6
因为左边已经是false,所以右边表达式的值根本没有进行计算,故而没有对b进行加一运算
alert(a>1||++b>5);
alert(b);//6
因为左边已经是true,所以右边表达式的值根本没有进行计算,故而没有对b进行加一运算
alert(3&&6);//弹出的是6
alert(0&&6);//弹出的是0
//0相当于false,但是非0相当于true,左右两边都是true,取的是后边的值
alert(“hello”&&“world”0);//输出的是world
alert(“”&&“hello”);//空字符串相当于false,非空字符串相当于true,输出的是false
视频14
typeof运算符
js是一种弱类型的语言,有时候需要判断这个数据是什么类型的
例子:
var a=45;//数值型的
alert(typeof a);
var b =“hello”;//字符串类型的
alert(typeof b);
var c=false;//布尔类型
alert(typeof c);
var d;
alert(typeof d);//undefined
视频15
选择结构if 和if else两种用法
(1)
if(条件)
语句
工作原理:如果条件为真则执行下边的语句否则不执行,条件用表达式表示
例子:
var score=78;
if (score>90)
alert(“买个游戏机”);
(2)
if(条件)
语句;
else
语句
工作原理:如果条件为真则执行if下边的语句,否则执行else下边的语句
if(score>90)
alert(“买个游戏机”);
else
alert(“挨揍”)
如果if下面有多条语句,就要用{}括起来,else下面如果有多条语句,也要用{}括起来,否则只执行一个,
var x=5;
if(x>6)
if(x>9)
alert("x>9");
else
alert(“哈哈”);
else和if的对应原则:
1.if或者else下边有多条语句的时候,必须用大括号括起来
2.else总是和离他最近的且没有对应的else的if对应
视频16
选择结构
例子:
已知一个成绩,根据成绩输出等级 大于90为a 80-90为b 70-80为c 60-70为d 小于60为e
var s=92;
if (s>90)
alert("A");
if (s>80&s<=90)
alert("B");
if (s>70&s<=80)
alert("C");
if (s>60&s<=70)
alert("D");
if(s<=60)
alert("E");
这种代码的运行性能不好,所以需要使用多层的else if结构
if(条件)
语句1;
else if(条件)
语句2;
else if(条件)
语句3;
...
else
语句n;
//这是一个整体结构,一旦判断满足了某种条件就不再判断后边的条件了
视频17
switch结构
switch(表达式)
{
case 值1:语句;break;
case 值2:语句;break;
case 值3;语句;break;
...
default:
语句;break;
}
例子:
var num=4;
switch(num)
{
case 1:alert(“num=1”);break;
case 2:alert(“num=2”);break;
case 3:alert(“num=3”);break;
case 4:alert(“num=4”);break;
default:
alert(“其他数字”);break;
}
//实现两数字之间的四则运算
var a=23,b=5;
var ch =“*”;
switch(ch)
{
case “+”:alert(a+b);break;
case “-”:alert(a-b);break;
case “*”:alert(a*b);break;
case “/”:alert(a/b);break;
default:
alert("无效符号");
}
视频18
switch结构
break的作用是停止的意思,如果在default后边不写break也是可以的,因为}代表的是switch结构执行结束。
当遇到break或者结束的右大括号的时候,switch就会停止执行。
case后边可以跟哪些值:
case后边可以跟常量 变量还有表达式
成绩判断例子:
var s=91;
switch(true)
{
case s>90&&s<=100:alert("A");break;
case s>80&&s<=90:alert("B");break;
case s>70&&s<=80:alert("C");break;
case s>60&&s<=70:alert("D");break;
case s<=60:alert("E");break;
default:
alert("无效成绩");
}
视频19
循环结构
循环结构解决重复性问题
while(循环的条件)
{
需要重复执行的语句(循环体);
}
工作原理:先判断条件是否为真,如果条件为真则执行循环体一次,然后再判断条件是否为真,如果为真则再执行循环体,如此反复,直到条件为假的时候循环结束,循环结束后会继续执行下边的语句
例子:显示hello world五次
var i=1;
while(i<=5)
{
alert(“hello world”);
i++;
}
例子:求1-10的累加和
var num =1,sum=0;
while(num<=10)
{
sum=sum+num;
num++;
}
alert("sum="+sum);
例子:统计1-100之间可以被3整除又可以被5整除的数的个数--计数器思想
var count = 0,num=1;
while(num<=100)
{
if(num%3==0&&num%5==0)
count++;
num++;
}
alert("count="+count);
视频20
do while
do
{
循环体;
}while(循环的条件);
工作原理:
先执行循环体一次,再去判断,再去执行。do while至少执行循环一次,但是while循环可能一次都不会执行
例子:求5的阶乘
var jiecheng=1,num=5;
do{
jiecheng=jiecheng*num;
num--;
}while(num>=1);
alert("jiecheng="+jiecheng);
视频21
循环结构for结构
while循环和do while循环的共性
while和do while都要使用一个循环变量初始化语句、循环条件、循环体、改变循环变量值的语句
for循环
for(表达式1(循环变量初始化语句);表达式2(循环条件);表达式3(改变循环变量值的语句))
{
循环体;
}
for循环就是把while循环分开写的三句在一行中实现,中间必须有分号,而且顺序不能颠倒。
先表达式1 ,再执行表达式2 ,再执行循环体3,再执行表达式3,再执行表达式2(循环条件)。如此往复,即初始化变量的语句只执行一次,然后就再也不用执行了。
例子:
求阶乘
var jiecheng=1,num;
for(num=5;num>=1;num--)
{
jiecheng=jiecheng*num;
}
alert(“jiecheng=”+jiecheng);
视频22
for循环
省略表达式的操作
1.省略表达式1
var i=1;
for(;i<=5;i++)
{
alert(“hello world”);
}
2.省略表达式2--无条件循环(死循环)
for(var i=1;;i++)
{
alert("hello world");
}
3.省略表达式3
for(var i=1;i<=5;)
{
alert("hello world");
}
4.全部省略--死循环
for(;;;)
{
alert(“hello world”);
}
注意:全部省略两个分号也不能省略
嵌套循环(比较复杂)
例子:(单层的循环)在页面上打印十个星星
for(var i=1;i<=10;i++)
document.write("*");
这样就可以了
嵌套循环(五行 每一行都有十个星星)
外层循环里面有一个里层的循环
for(var j=1;j<=5;j++)//外循环控制的是行数
{
for(var i=1;i<=10;i++)//内循环控制的是每一行显示的内容
document.write("*");
documen.write("<br/>")
}
五行(是第几行就打印几个星星)
for(var i=1;i<=5;i++)//外循环控制的是行数
{
for (var j=1;j<=i;j++)
{
document.write("*");
}
document.write("<br/>");
}