(补充)JS入门基础理解day3-流程控制以及数组

js流程控制语句:
a.顺序结构:从上到下执行的代码就是顺序结构
b.分支结构:
①单分支结构 if(条件默认为true)){语句体}
Eg:if(score>80){
alert(‘条件默认为true’);
}

	  ②双分支结构  if(条件){语句体}else{语句体}
	  Eg:if(score>90){
			alert('成绩是大于90的');
		}else{
			alert('成绩小于90的');
		}
		
	  ③多分支结构  if(条件){语句体}else if{语句体}else{}
	  Eg:if(score>=90 && score<=100){
			alert('A');
		}else if(score<90 && score>=80){
			alert('B');
		}else if(score<80 && score>=70){
			alert('C');
		}else if(score<70 && score>=60){
			alert('D');
		}else{
			alert('等级为:E 不及格');
		}
		
	  ④switch...case..
        Eg:var score='U';
		   switch (score){
			case 'A':
				alert('90-100区间');
				// 当满足以上条件时, 退出程序,不会接着往下执行
				break;
			case 'B':
				alert('80-90区间');
				break;
			default:
				alert('以上条件 没有满足的');
				break;
		}

        总结1:使用switch..case时,每一条语句之后都要添加break,意在满足条件时退出整个程序
			不会接着往下执行; 在switch..case 最后的default 可写 或者可不写. 写上是规范
        总结2:在使用switch..case 语句时, 比较值  使用的是全等(===)				

c.循环结构:
①while循环 语法结构:while(条件){循环体}
Eg:输出1-10之间的数字 不包含10?
var n=0;
while(n<9){// 这里的条件很重要: 作为最终退出循环的条件
n++;
document.write(n); // 是将结果 输出在页面中
}

		②do..while  语法结构:do{循环体}while(条件)
		Eg:输出1-100之间的奇数?
		var n2=0;
		var count1=0;
		do{
			n2++;
			if(n2%2!=0){
				count1++;
				document.write('<br />'+n2+'<br />');
			}
		}while(n2<100);
		document.write(count1+'=======');
		
		总结: do..while和while之间的区别?
		do..while  即便条件不成立 也会执行一次循环体
		while   条件成立 才会执行循环体
      
        ③for循环  语法结构:for(初始化值;条件;自增/自减){循环体}
		Eg:输出1-10之间的数字
		for(var i=1;i<10;i++){
			document.write(i);
		}
		document.write('<br />');
		注意事项:  
		(1)避免死循环;
		(2)考虑最终退出循环的条件;
		(3)是否  是自增/自减*

        ④continue用法
		Eg:输出1-100之间的数字 ,但是 不包含 55 ,34 ,22,11
		for(var i=1;i<100;i++){
			if(i==11 || i==22 || i==34 || i==55){
				// continue: 退出本次循环  继续下一循环
				continue;
			}
			console.log(i);
		}
		
		⑤break用法
		Eg:输出1-10之间的所有数字  但是从5开始 之后的数字 都不会输出
		for(var i=1;i<10;i++){
			if(i==6){
				// break  表示退出整个循环
				break;
			}
			if(i>5){
				break;
			}
		}

数组:是指一堆数据的集合,存储多种类型的数据 具有length属性(长度)/索引
数组长度永远会比数组索引大1==>索引=length-1
数组的声明:
a.①使用new Array()===>创建一个数组的对象
Eg:var arr_01=new Array();

		 ②直接创建  字面创建
          Eg:var arr_02=[];

数组初始化==数组赋值:
①使用new Array()
=>创建一个数组的对象
Eg: var arr_01=new Array(12,‘张三’,true,89.50);

		 ②使用new Array()===>创建一个数组的对象
	    Eg: var arr_01=new Array();
			arr_01[0]=12;
			arr_01[1]='张三';
			arr_01[2]=true;
			arr_01[3]=89.50;
			arr_01[4]=111;

         ③直接创建  字面创建
		Eg: var arr_01=[12,'张三',true,89.6];

数组的数据访问/获取/遍历
Eg:var arr_01=[12,‘张三’,true,89.6];
for(var i=0;i<arr_01.length;i++){
document.write(arr_01[i]+’
’);
}
数组操作方法

//1.match() 索引指定值 没有返回true
   var str='abcd';
   var arr=str.match('a')
   console.log( arr)//Array(1)
   //2.search() 检索字符串中指定的字符串
   var str1='aabbcc'
   var arr1=str1.search('a')
   console.log( arr1)//0
   
   //3.indexOf() 可返回某个指定字符串值在字符串首次出现的位置
   var str2='abcdefg'
   console.log(str2.indexOf('b'))//1
  
   //4.replace()  替换字符
   var str3='abcdefg';
   var str_1=str3.replace('d','你爱');
   console.log(str_1);//abc你爱efg
   
   //5. charAt()  获取字符串中的某一字符
   var str6='acdf';
   console.log(str6.charAt(1))//c
   console.dir(str6)
   
   
   
   
   // 6.转小写:toLowerCase.转大写:toUpperCase .
   var str4='abcd';
   console.log(str4.toUpperCase())//ABCD
   
   var str5='ABCD';
   console.log(str5.toLowerCase())//abcd
   
   // 7.concat() 连接字符串
   var str_2='abcfd';
   console.log(str_2.concat('比好'))//abcfd比好
   
   //8.localeCompare()  比较字符串
   var st='a';
   var st1='b';
   console.log(st1.localeCompare(st))//1
   
   // 9. spilt()  分割字符串 返回字符串数组
   var str9='abcdefr';
   console.log(str9.split('d'))//分成2个数组 abc/defr
   
   //10. substring()   从字符串中截取字符串;
   var str10='abcdefr';
   console.log(str10.substring(6))//r

//11.join() 将数组成员通过一个分隔符合并成字符串
var arr_01=[23,12,34,‘张三’];
var str=arr_01.join(’|’)
console.log(str); // 23|12|34|张三

		//(12)push()和pop()   从数组最后增加或删除成员
		var arr_02=[23,12,34,'张三'];
		arr_02.push('李四');
		console.log(arr_02);  // (5) [23, 12, 34, "张三", "李四"]
		
		arr_02.pop();
		console.log(arr_02);  // (4) [23, 12, 34, "张三"]
		
		//(13)unshift()和shift()   从数组前面增加或删除成员
		var arr_03=['java','js'];
		arr_03.unshift('love');
		console.log(arr_03);  // (3) ["love", "java", "js"]
		
		arr_03.shift();
		console.log(arr_03);  // (2) ["java", "js"]
		
		//(14)reverse() 将数组反转
		var arr_04=['yj','is','name','my'];
		arr_04.reverse();
		console.log(arr_04);  //  ["my", "name", "is", "yj"]
		
		//(15)indexOf() 返回数组中元素第一次出现的索引值
		var arr_05=[1,2,34,2,1,2,2];
		//第一个参数 需要检索的元素
		//第二个参数需要检索的索引位置(如果有就返回该索引,如果没有就返回-1)
		var index= arr_05.indexOf(2,5);
		var index1=arr_05.indexOf(2,7);
		console.log(index);  // 索引5
		console.log(index1);  // -1  不存在
		
		//(16)splice() 在数组中增加或删除成员
		var arr_06=[2,11,22,45,33];
		arr_06.splice(2,1);  // 第一个参数表示从索引为几开始删除成员,第二个参数表示删除几个成员
	    console.log(arr_06);// (4) [2, 11, 45, 33]
		
		arr_06.splice(2,1,90,0,88,66);  // 第一个参数表示从索引为几开始删除成员,第二个参数表示删除几个成员,后面参数表示添加的新的成员
		console.log(arr_06);// [2,11,90,0,88,66,45,33]
	
		// (17)isArray(): 用于确定传递的值是否是一个 Array
		var arr_07=[2,3,4,5,6];
		var bool=Array.isArray(arr_07);
		console.log(bool);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值