for循环
重复的去执行一件事的时候,我们就可以用for循环
- 声明定义初始条件
- 指定循环条件
- 条件符合,进入执行体
- 进行累计操作
//反向输出str
var str=[1,2,3,4];
//遍历输出str的数字
for(var i=str.length-1;i>=0;i--)
//注意,长度要-1
{
console.log(str[i]);
}
//打印奇数项
for(var i=0;i<str.length;i++){
if(i%2==0){
// i是索引i[0]=1
// i是索引i[1]=2,当索引为偶数时值就是偶数,当索引为奇数时值就是奇数,%是取余数 2%2=0 3%2=1
console.log(str[i]);
}
}
for循环中两个比较重要的值
continue 结束本次循环,开始下次循环
break 结束整个循环
for(var i=0;i<10;i++){
if(i<5){
i++;// 1 3 5
continue;
}
if(i>7){
i+=2;//10
break;
}
i+=1; //8
}
console.log(i);//10
for(var i=1;i<=10;i+=2){
if(i<=5){
i++;//
continue;
}else{
i-=2;
break;
}
i--;
console.log(i);
}
console.log(i);//5
++i与i++的区别
无论是++i,还是i++,值都是加1
var b=++i; 加号在前,先自身累加,然后再赋值给b,b就是3
var b=i++; 加号在后,先赋值给b,再自身累加,b就是2
//无论是++i,还是i++,值都是加1
//var b=++i; 加号在前,先自身累加,然后再赋值给b,b就是3
//var b=i++; 加号在后,先赋值给b,再自身累加,b就是2
var i=2;
i++;
var b=i;
console.log(i);//3
console.log(b);//3
var i=2;
++i;
var b=i;
console.log(i);//3
console.log(b);//3
var i=2;
var b=i++;
console.log(i);//3
console.log(b);//2
var i=2;
var b=++i;
console.log(i);//3
console.log(b);//3
大杂烩
{}=={};//false 因为空间地址不一样
var a={};
var b=a;
a==b;//true 空间地址一样
对象和数字:对象转为数字,再比较
对象和字符串:把对象转为字符串,再进行比较
对象和布尔:把两者都转为数字,再比较
数字和字符串:把字符串转数字,再比较
数字和布尔:布尔转数字
字符串和布尔:都转数字,再比较
不同数据类型的比较,除了以下的,剩下的都是先转换为数字再比较
1. 对象和字符串进行比较的时候,把对象转为字符串再比较
2. null与undefined永远不等于任何一种数据类型,但是null==undefined//true,null===undefined//false
3. NaN永远不等于任何一种数据类型