调试
调试的概念及作用:通过手动执行代码观察程序的执行顺序及变量数值
调试的步骤 1.打断点:什么是断点?代码启动时停止的位置 2.刷新.进入了手动调试模式 3.蓝色横线代表即将执行但并未执行的代码行 -4.鼠标放到以执行代码的变量上,即可显示数值 ·5.点击单步运行按键Step over 6.结束调试,取消断点再次刷新
选择嵌套
if的嵌套不要超过5层(3层后就开始复杂了)
规避:
var a = 1,
b = 2,
c = 3;
if (a > 0 && b > 0 && c > 0) {
console.log("相关操作");
}
闰年问题
程序 = 算法 + 语法;
算法就是解决问题的方法, 以后需要独立
if((四年一闰&&百年不闰)||四百年在闰){
闰年
} else {
平年
}
三目运算符
三目运算特指条件运算符,因为在JS中拥有三个操作数的运算符只有一个
表达式1?表达式2:表达式3;
表达式1是一个布尔值,为true返回表达式2,为false返回表达式1.
c = a > b ? a : b;
console.log(c);
switch
switch只能用于等值判断
通过匹配表达式的值和被匹配表达式比对,匹配成功则执行后续语句
switch (匹配表达式) {
case 被匹配表达式1:
语句;
case 被匹配表达式2:
语句;
case 被匹配表达式3:
语句;
case 被匹配表达式4:
语句;
}
注意事项:
1.switch执行的顺序,switch只匹配一次,从匹配值开始,直至语句结束
2.break阻止穿透效果
3.case后面不能写范围
4.default,代表之前所有条件的对立面
5.所有非关联性的case,顺序可以任意替换
while
注意事项:
1.执行顺序
while的执行顺序是先条件表达式,在循环体
如果条件表达式为真,则执行循环体,然后继续判断条件
如果条件为假则跳出循环
2.循环构成的要素
a.循环变量
b.(有限次数的循环),必须有使循环趋近于结束的条件
c.循环体,每次循环要执行的
while(条件表达式){
循环体;
}
1+2+...+99+100
var sum = 0; //统计和
var i = 1; //循环变量必须要初始化
while (i <= 100) {
sum += i;
i++;
}
console.log(sum, i);
while和do...while的异同
当首次条件成立时,while和do...while没有区别
当首次条件不成立时,do...while要比while多执行一次循环体
for
for(表达式1;表达式2;表达式3){1243243243...
表达式4;
}
表达式1:初始换循环变量
表达式2:循环条件
表达式3:使循环趋近于结束的条件
表达式4:循环体
var sum = 0
for (var i = 0; i <= 100; i++) {
sum += i;
}
console.log(sum);
使用场景:
1.知道循环次数用for
2.不知道循环次数用while
已知一张纸的厚度是0.001米,假设纸张可以无限对折,请问对折多少次纸的厚度可以超过8848
var h = 0.001;
var count = 0;
while (h < 8848) {
h *= 2;
count++;
}
console.log(count);
3.基本就不用do...while
2.水仙花数
水仙花数一个三位数,各位的立方+十位的立方+百位的立方等于该数本身
abc == a*a*a + b*b*b + c*c
程序 = 算法 + 语法;
算法是考虑步骤
1. 先拆解数字
var i = 100;
var x = i;
var a; //百
var b; //十
var c; //个
c = x % 10; //123%10
x = parseInt(x / 10); //12
b = x % 10;
x = parseInt(x / 10); //1
a = x % 1
console.log(a, b, c
2. 进行判断
if (i == a * a * a + b * b * b + c * c * c) {
console.log(i);
}
3.将100~999的数值循环判断一
========================================================
var x, a, b, c;
for (var i = 100; i < 1000; i++) {
x = i;
c = x % 10;
x = parseInt(x / 10);
b = x % 10;
x = parseInt(x / 10);
a = x % 10;
if (i == a * a * a + b * b * b + c * c * c) {
console.log(i);
}
}