(补充)js入门基础理解day1-js的介绍-嵌入方式-变量以及数据类型

HTML:搭建网站的结构 /骨骼
CSS:层叠样式表,美化界面/对于骨骼的装饰(肉体)
JavaScript(JS):使网站具备动态的特效功能/灵魂 应用场景:大型网站的表单验证

js是基于对象和事件驱动的客户端脚本语言

对象: 万事万物都是对象
对象三大特征(属性,方法,事件)
属性:是指一个事物的外观特征
方法:是指一个事物的主动行为
时间:是指一个事物的被动行为

客户端脚本语言:
弱类型的脚本语言:js php Python shell
弱类型是指根据值来确定变量的数据类型
脚本语言(解释型语言):时间快 翻译一行直接执行一行

			强类型语言(编译型语言):Java c c++ c# 

JS的学习路线:三大模块
(1) ECMAScript5.0
(2) BOM 浏览器对象模型;
(3) DOM 文档对象模型;

JS嵌入页面的三种方式:
①行间嵌入==>使用事件驱动
Eg:
②内嵌:在head中或者body中通过script标签 嵌入 JS代码
Eg:

变量的概念:变量是指计算机内存中存储数据的标识符/是指在一段程序中一直变化的量
作用:主要用来存储数据
JS是一个弱类型的脚本语言 var 变量的名称=变量值

变量的声明:使用var关键字
var 变量名称

变量的初始化 就是指变量赋值(初始值)
a.var 变量名称=变量值
b.var 变量名称; 变量名称=变量值

变量的访问(通过变量名称访问就可以直接访问 变量的数据)
var 变量名称=变量值;
console.log(变量名称)

变量命名规则:
a.驼峰命名法 myName $myName
b.在变量的命名中不能以数字开头,但可以包含数字 myName01 01myName(错误)
c.不能使用js中的关键字(保留字)
d.变量可以以字母 _ $ 开头
e.变量的长度不超出255个字符
f.可以用中文命名 但不推荐 解析速度慢
g.区分大小写 name Name 表示不同变量

变量的数据类型:(两大类)
a.简单的数据类型
①number 数字类型
②string 字符串类型
③boolean 布尔类型
④undefined 空类型/未定义的类型 定义一个变量,但是未进行赋值
⑤null 空类型 null类型只有一个值,是null,表示不存在的对象,
一般常常用于函数return一个不存在的对象,也可用于声明一个空的对象,利于保存。
null是javascript的关键字,一个空对象指针,代表空值。

         b.复合数据类型/复杂的数据类型/特殊的数据类型
           ①object 对象类型
           ②function 函数类型

          通过typeof查看变量数据类型

js放在head与body中的区别?
放入html的head,是页面加载前就运行,放入body中,则加载后才运行javascript的代码

编译型语言和解释性语言区别?
(1)编译型语言:把源程序全部编译成二进制代码组成的可运行的程序,即在编译之后可以直接执行;速度快 效率高,但是跨平台性差。
(2)源程序翻译一句,执行一句。速度慢,效率低,但是跨平台性能好。

JS中new关键字用法?
(1)创建一个新对象;
(2)将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象) ;
(3)执行构造函数中的代码(为这个新对象添加属性) ;
(4)返回新对象。

           Eg:function Person(name, age) {  
					this.name = name;  
					this.age = age;   
				}  
				var person = new Person("Alice", 23);	 

JS中栈和堆?
栈(stack):栈会自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定大小的空间。
基本类型:String,Number,Boolean,Null,Undefined

	   堆(heap):动态分配的内存,大小不定也不会自动释放,存放引用类型,指那些可能由多个值构成的对象
				 保存在堆内存中,包含引用类型的变量,实际上保存的不是变量本身,而是指向该对象的指针。
		         引用类型:Function,Array,Object
	   栈:所有在方法中定义的变量都是放在栈内存中,随着方法的执行结束,这个方法的内存栈也自然销毁。
		   优点:存取速度比堆快,仅次于直接位于CPU中的寄存器,数据可以共享;
		   缺点:存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。

       堆:堆内存中的对象不会随方法的结束而销毁,即使方法结束后,
	       这个对象还可能被另一个引用变量所引用(参数传递)。
           创建对象是为了反复利用,这个对象将被保存到运行时数据区。
  • 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、付费专栏及课程。

余额充值