js学习笔记(逗号运算符~循环完)

逗号运算符
一般形式:表达式1,表达式2,······,表达式;
计算过程:先算表达式1,再算表达式2,依次计算到表达式n,整个逗号表达式的值是最后一个表达式的值

 var a, b, c, d;
 d=( a = 1 +1, b = 3 * 4, c = 10 / 2 );
 document.write(d + '<br>'); //输出为5

三目运算符
条件表达式?语句1:语句2;
条件为真,执行语句1,为假,执行语句2
如果条件表达式的求值结果是一个非布尔类型,会将其转换成布尔类型再计算

练习

var a, b, c, max;
a = +(prompt('请输入第1个数:'));
b = +(prompt('请输入第2个数:'));
c = +(prompt('请输入第3个数:'));
max = a > b ? a : b ;
max = max > c ? max : c;
document.write(max);

从键盘录入字符串:a=prompt()
从键盘录入数字:a=+(prompt())

代码块
程序是由一条一条语句构成的,语句是按照自上向下的顺序一条一条执行的,在js中可以用{}来为语句分组
同一个{}的语句我们称为一组语句,它们要么都执行,要么都不执行
js中的代码块只有分组的作用,没有其他的用途;代码块里面的内容,在外部是完全可见的
在es5,{}相当于透明的,外面的可以使用里面的数据(var 定义可以);但在es6里,外面的不可以使用里面的数据(let 定义不可以)

//var 定义可以
{
    var a = 'hahah';
    document.write(a + '<br>');
}
    document.write('name= '+ a);//可以输出,正确
//let 定义不可以
{
    let a = 'hahah';
    document.write(a + '<br>');
}
    document.write('name= '+ a);//不会输出,报错

流程控制语句
1.顺序结构:按顺序从上到下依次执行
2.选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码
3.循环结构:在给定条件成立的情况下,反复执行一段代码

if语句

var a = 10;
if (a > 11){
   document.write('true');
}
else if (a < 11){
   document.write('false');  //js里没有elif
}
else{
   document.write('11');
}

注意
1.;也是一个语句

if (4>6);//if和下面的输出已经无关
{
   document.write('4>6');
}
//输出为 4>6 ,因为 ;也算一个语句

2.if else 是一个整体,else匹配if时是匹配离它最近的一个if
3.尽量遵循 if(0==a)的写法 (将变量写到等号右边)
4.if语句可以嵌套使用

//石头剪刀布练习
var player, computer;
computer = parseInt(Math.random()*3);
// parseInt()返回一个整数
//Math.random() 会随机产生0~1之间的随机数
player = parseInt(+(prompt('请出拳:(0->剪刀,1->石头,2->布)')));
//parseInt()将字符串转换成数字,遇到无效就停止,所以可以将小数转成整数
if (player < 0 || player > 2){
   player = +(prompt('输入无效,请重新出拳:(0->剪刀,1->石头,2->布)'));
}
else{
   document.write('player=' + player + '<br>');
   document.write('computer=' + computer + '<br>');
   if(computer > player){
        document.write('很遗憾,你输了!');
   }
   else if(computer < player){
        document.write('恭喜你,你赢了!');
   }
   else{
        document.write('你们是平局!');
   }
 }

Switch语句
Switch和if一样都是选择结构,都会对给定的条件进行判断,再根据判断结果来决定执行哪一段代码

switch(条件表达式){
	case 表达式:
		语句1;
		break;//不加break就会依次执行case,是错误的
		·
		·
		·
	case 表达式:
		语句n;
		break;
	default:
		语句n+1;
		break;

1.计算条件表达式的值,当条件表达式的值和某一个case后面的值和类型都相等时,执行该case后的语句,并跳出switch循环,不需与其他case再比较,如果没有case的值与条件表达式的值相等,执行default的语句并跳出循环。
2.先计算表达式的值再进行判断
3.default在switch中的位置是任意的;default可以省略,匹配不到就不输出

//成绩等级输出
	var score;
    score = +(prompt('请输入学生成绩'));
    switch (parseInt(score / 10)) {
        case 10:
        case 9:
            document.write('A');
            break;
        case 8:
            document.write('B');
            break;
        case 7:
            document.write('C');
            break;
        case 6:
            document.write('D');
            break;
        default:
            document.write('E');
            break;
    }

while循环

while(条件表达式){
	语句1;
	语句2;
	·
	·
	·
}

判断表达式是否为真,如果为真就执行大括号里的语句,直到条件不成立时结束while循环
注意;也是一条语句

break;
1.只能用于循环语句和switch语句
2.在一层循环里,直接终止循环;在多层循环中,只能跳出理它最近的这层循环,只能向外跳一层
continue;
1.与break;的区别:跳出当前循环中的剩余语句,而执行下一次循环

    var num=1;
    while(num<=10){
        document.write(num + '<br>');//输出1,2,3
        if (num==3){
            break;
        }
        num++;
    }

do-while循环

do{
	语句1;
	语句2;
	·
	·
	·
}while(条件);

首先会执行一次循环体中的语句,再判断while中的条件是否为真,如果为真,再执行do里的语句,直到条件不成立。

for循环

for((1)初始化表达式; (2)循环条件表达式 ; (4)循环操作表达式){
	(3)执行语句;
}

先初始化表达式,判断表达式是否为真,为真则执行循环体中的语句,然后再执行操作表达式,再判断表达式是否为真······直到条件不再成立

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值