js基础03

119 阅读2分钟

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. nullundefined永远不等于任何一种数据类型,但是null==undefined//true,null===undefined//false
	3. NaN永远不等于任何一种数据类型