20190708-下午js的疑难点
——Javee
==和===的区别:
-
==为模糊比较,只比较数值,不管类型
-
===为严格的比较,包括数值和类型
true:1,-1,“0”,“111”
false:0,null,undefined,NaN,""
&&和&的区别:
a && b; //若a为假,则不判断b
a & b; //若a为假,继续判断b
|| 和 | 的区别:
a || b; //若a为真,则不判断b
a | b; //若a为真,继续判断b
&和 | 和^进行位运算:
优先级^最高
var a=7; //0111
var b=8; //1000
alert(a & b); //按位与,0000,->0
alert(a | b); //按位或,1111,->15
alert(a ^ b); //按位异或,1111,->0
<<左移 左移n位代表 * 2的n次方,如5 << 2为20
>>右移 右移n位代表 / 2的n次方,小数舍去,如81 >> 3为10
prompt函数的使用:
var value = prompt("请输入","这是默认内容");
break和continue的区别:
var num=0;
while(num++ < 5){
if(num === 3){
break; //跳出当前最内层的循环,当num=3时,循环结束
}
alert("现在num = " + num);
}
var num=0;
while(num++ < 5){
if(num === 3){
continue; //暂停此次循环继续进行下一次循环,当num=3时,暂停此次循环,继续第4次循环,直到循环结束
}
alert("现在num = " + num);
}
使用循环输出一个三角形(行数由用户自己输入):
var num = prompt("请输入行数:",1);
document.write("<div style='text-align: center;'>");
for(var i=0;i<num;i++){
for(var j=0;j<=i;j++){
document.write("* ");
}
document.write("<br />")
}
document.write("</div>")
怎么发现bug?
-
查看浏览器控制台提示信息
-
如果没有发现报错信息,那么有可能是逻辑错误,我们可以调试代码,打开浏览器检查->sources,点击左边要调试的文件,在要调试的位置打上断点,然后刷新页面,这个时候会停在你断点位置,按F10可以一行一行的代码运行,在过程中,可以鼠标移上去看变量的值,F8直接执行完。