自增自减符的运算
技巧:符号在前先加减后赋值,符号在后先赋值再加减;
//var a = 3; a++; a++; var b = a+2; ++a; console.log(a);该代码输出的值为?
var a = 3; //初始值:a=3;
a++; //a++ 自增符号在后,所以先赋值再自增,此处a=3,a自增后变成4
a++; //上面a自增后变成4, 符号在前,先赋值后自增,所以此处a初值为4 自增后等于5
var b = a+2; //上面a自增变成5 ,所以此处a等于5 b=5+2
++a; //a初值为5,自增符号在前 ,所以先自增再赋值 a=6
console.log(a);// 打印出a等于6
循环
循环是反复执行同一段代码的循环功能,
4. while循环:
//先判断再执行
While(判断语句){ // 判断语句为真时执行循环
循环体; //判断语句为真时执行的语句
控制条件语句;
}
// 计算1-100的和
var i = 1; //定义变量 设置初始值
var sum = 0; //定义一个变量 用来存储1到100的和
while (i <= 100) {
// sum += i;
sum = sum + i
i++;
/**
* 第一轮循环 i=1 sum=0+1 i++ =>2
* 第二轮循环 i=2 sum=1 sum=1+2 i++ =>3
* 第三轮循环 i=3 sum=3 sum=3+3 i++ => 4
* ...
*/
}
console.log(sum);
do while循环
//先执行再判断
do{
循环体;
控制条件语句(i++);
}while(循环条件);
用户输入密码,判断密码是否正确
var password; //定义一个变量用于存储用输入的密码
do {
password = prompt('请输入密码') - 0; //将输入的密码转换为数字类型
} while (password != 12345);
console.log('密码正确');
do while 与 while的区别
do while是先执行后判断 , 在首次条件不满足时,会先执行一次再判断条件是否满足,如果满足则继续循环,反之则停止循环
while是先判断后执行,在首次条件不满足时不会执行循环,如果条件满足,将循环到条件不满足时为止
for循环
for(初始值; 判断语句; 控制循环语句){
循环体;
}
判断水仙花数(for循环)
//判断水仙花数(100-999): => 例:163 = 1*1*1+6*6*6+3*3*3;
/*思路:
1.先拿到100到999的数;
2.再拿到三位数上的个位、十位、百位;
3.算出百位、十位、个位的和;
4.判断数100到999的数是否与和相等;
如果相等,则是水仙花数
不等,则不是水仙花数
*/
for(var i = 100; i < 1000;i++){ // for循环:拿到100到999的数
var bai = parseInt(i / 100); //拿到百位数字
var shi = parseInt(i / 10 % 10); //拿到十位数字
var ge = parseInt(i % 10) //拿到个位数字
// var sum = bai*bai*bai+shi*shi*shi+ge*ge*ge;
var sum = bai ** 3 + shi ** 3 + ge ** 3; //给个位、十位、百位的和赋值 **3 为3次方
if(sum == i){ // 判断该数是否是水仙花数
document.write(i+'是水仙花数'+'<br>'); // 向页面输入
}
}
for循环的嵌套
for(初始值1; 判断语句1; 控制循环语句1){
for(初始值2; 判断语句2; 控制循环语句2){
循环体;
}
}
for(var i = 0; i < 3; i++){
for(var j = 0; j < 3; j++){
console.log(1);
}
}
/**
* 两个for循环嵌套使用,循环由外到内,外面循环一次,里面的循环结束后返回外面循环,直到外面的循环结束为止;
* 外层循环第一轮:
* i=0 => 符合条件
* 内层循环第一轮:
* j=0 => 符合条件 循环体执行一次
* 内层循环第二轮:
* j=1 => 符合条件 循环体执行一次
* 内层循环第三轮:
* j=2 => 符合条件 循环体执行一次
* 内层循环第四轮轮:
* j=3 => 不符合条件 判断语句中j<3 不满足条件 循环结束
* 外层循环第二轮:
* i=1 => 符合条件
* 内层循环第一轮:
* j=0 => 符合条件 循环体执行一次
* 内层循环第二轮:
* j=1 => 符合条件 循环体执行一次
* 内层循环第三轮:
* j=2 => 符合条件 循环体执行一次
* 内层循环第四轮轮:
* j=3 => 不符合条件 判断语句中j<3 不满足条件 循环结束
* 外层循环第三轮:
* i=2 => 符合条件
* 内层循环第一轮:
* j=0 => 符合条件 循环体执行一次
* 内层循环第二轮:
* j=1 => 符合条件 循环体执行一次
* 内层循环第三轮:
* j=2 => 符合条件 循环体执行一次
* 内层循环第四轮轮:
* j=3 => 不符合条件 判断语句中j<3 不满足条件 循环结束
* 外层循环第三轮:
* i=3 => 不符合条件 判断语句中i<3 不满足条件 循环结束
*/
九九乘法表
//2. 九九乘法表:
for(var i = 1; i <= 9; i++){ //列
for(var j = 1; j <= i; j++){ //行
document.write(j+'x'+i+'='+i*j);
document.write(' ');
}
document.write('<br/>');
}
九行九列*号排列
for(var i = 0; i < 9; i++){ // 外层循环控制行
for(var j = 0; j < 9; j++){ // 内层循环控制列
document.write('*');
}
document.write('<br/>') // 页面输出换行
}
//********* 外层i=1;内层i 0~8循环9次 内层循环后 向页面输出换行 当i=9时,不满足条件,跳出外层循环,直到外层循环结束;