isNaN
//用来判断一个变量是不是一个非数字
不是来判断是不是number类型,而是判断当前值能不能转为number类型,OK?懂了。
还有同学不明白,来看实例:
<script>
//isNaN(非数字)→true
(数字)→false
var a =1;
var bool = isNaN (a);
alert(bool)
</script>
太绕了,这么看太麻烦,怎么整,语文上咱们双重否定表肯定,这边也是:
var b =prompt('请输入内容');
if (!isNaN(b)){
alert('是一个数字')
}else{
alert('输入的不是数字')
}
for循环中分号的重要性
for(循环起始值; 循环条件; 循环自增量){
循环操作}
//没有条件,死循环
如:
for (var i=1;;i++){
alert('我爱你');
}
程序员小A表白小B,无条件的爱,这是啥,这是舔狗!
//没有起始值,没有循环条件,没有自增量,还是死循环
for (;;){
alert('我也是');
}
好,如果小B这么回答了,但小B多加了个分号
for (;;);{
alert('我也是');
}
啥意义?分号代表结束,所以这个程序压根不会往下进行。
//无条件的时候就是死循环,什么时候最廉价——无条件的时候,所以舔狗必死。
这下记得牢了吧?
好,开玩笑,都是为了方便记忆,但我们还是不要做一个没有条件的人,因为这种人往往最不被珍惜。
故事会结束,回归正题:
While循环
while语法:
初始部分//定义变量的地方
while(循环条件){循环操作;
循环迭代;
}
var i =1;//起始值
while (i<=10){//循环条件
console.log(i);//循环操作
i++;//循环迭代
}
好像说过了,再巩固一遍
条件写成true,死循环,无条件了相当于。
for和while是先判断,满足后再执行,下面这哥们不一样
do while
特点:先循环,再判断,至少循环一次。
语法:
声明变量
do{
循环操作;
迭代;
}while(循环条件)
var a=120;
do {
console.log('条件没满足');
a++;
}while (a>=180);
好了,咱瞅着了,这可没满足while后的执行条件,还是执行了do的代码。
不管满足不满足都执行一次循环。
var a=120;
do {
console.log(a);
a++;
if (a>128){
break;
}
}while (a>80);
给个满足的条件就一直执行,咱这不能让他一直执行,给他个条件让他终止,咱就看看。
双重循环
双重for循环。
还是熟悉的例题,模拟时钟。
//模拟时钟
//时针
for (var i=1;i<=24; i++){
console.log(i+'时');
//分针
for (var j=1; j<=60; j++){
console.log(j+'分');
}
}
讲过很多遍了,就是一个套一个,外面循环一次里面循环一轮。
再说一个面试题,正好也应景——
九九乘法表
//方法1
var sum=0;
for (var i=1; i<=9; i++){
for(var j=1; j<=9; j++){
sum=i*j;
document.write(i+"*"+j+"="+sum);
document.write(" ");
}
//内循环一轮后换行,好看
document.write("<br>");
}
//方法2
var sum=0;
for (var i=9; i>=1; i--){
for(var j=1; j<=9; j++){
sum=i*j;
document.write(i+"*"+j+"="+sum);
document.write(" ");
}
document.write("<br>");
}
也不算第二种方法,就是倒过来,
找外层!先内层!就这么简单