javaScript不是很详细但基本的使用都有介绍

JavaScript

定义

只有一个弱类型var 变量名;变量可以不声明直接赋值,不推荐使用

变量没有赋值经默认赋予undefined

Null空与undefined一样

Number

Boolean

String

组成

ECMscript script标准

DOM 文档对象模型

BOM 浏览器对象模型

 

语法

<script type=”text/javascript”>

</script>

Alert(“提示信息”)

Prompt(“提示信息”,“输入内容这里为空”)

如:Prompt(“请输入信息”,“”)

数组

Var 数组名 =new Array (长度);

赋值 var 数组名 =new Array (“啊”,”啊”,”啊”,”啊”);

通过下标赋值

数组名 [0]= “d”;

数组名 [1]= “d”;

数组名 [2]= “d”;

 

常用属性方法

属性lenght

方法:

Join() 把数组的所以元素放入一个字符串中,通过分隔符分割

Sort() 对数组排序

Push() 尾部添加一个或多个元素,返回新长度

运算符

多两个:=== !== 数据类型一致时判断

控制语句

If 条件判断

Switch 多分支

For、 while

For-in 循环

Alert 弹出消息框

Prompt 输入信息

经验

<script>...<script>可以包含在文档中的任何地方,只要保证这些代码在被使用前已读取并加载到内存中即可

特点

像HTML页面中添加交互行为

脚步语言,语法和java类似

解释性语言,边执行边解释

外部引用

<script src=”export.js” type=”text/javascript”><script>

注意

作为导入文件的<script>标签不要在其内部写内容

For循环是用var定义数据类型

内部js

<input type=”butter” value=”弹出框” onclink=”javascript:alert(‘欢迎’)”>

Debug

  1. 在浏览器中设置断点:打开开发者工具——找到Source菜单——在左侧目录中找到对应HTML文件双击
  2. 在想要进行调试的位置设置断点(直接在行号处单机左键即可出现蓝色标识即可)
  3. 启动调试直接通过刷新页面实现
  4. 常用快捷键:F8停止调试,F10单步执行,F5启动调试(刷新页面)

函数

函数:类似于java中的方法,是完成特定任务的代码语句块

使用更简单:不用定义属于某个类,直接使用

函数分类:系统函数,自定义函数

系统函数

parseInt(“字符串”)将字符串转换为整形数字

parseFloat(“字符串”)将字符串转换为浮点型数字

IsNaN()检查其他参数是否是非数字

Document.getElementsByTagName(“标签”)[shu]

 

事件:

Onload一个页面或一副图像完成加载

Onclick鼠标单击某个对象

Onmouseover鼠标指导移到某个元素上

Onmouseout鼠标移出 涉及子集

Onmouseleave鼠标移出 不涉及子集,在子元素中移动不会显示

Onkeydown某个键盘按键被按下

Onkeyup键盘抬起

Onchange域的内容被改变

自定义函数

语法:

Function 函数名(参数1,参数2,参数3...){

JavaScript语句

Return 返回值

}

调用函数:

事件名称=“函数名()”;

注释

在HTLM中注释分两种

<!——内容——> 常用注释

<%——内容——%> 又称隐式注释 特点

BOM:

innerHTML=”” 改变内容

常用属性

Window:

History 有关客户访问的URL的信息

Location 有关当前URL的信息

 

Document:

Referrer 返回载入当前文档的URL

URL 返回当前文档URL

 

语法:

Windows.

Document.

 

常用方法:

Prompt() 显示可提示用户输入对话框

Alert() 显示带有提示和确定按钮的警示框

Confirm() 一个带提示确定取消的对话框

Close() 关闭浏览器

Open() 打开一个新浏览器窗口,加载给定URL指定文档

SetTimeout() 指定毫秒数后调用函数或计算表达式

setInterval() 按指定周期调用指定毫秒数后调用函数或计算表达式

 

Document:

getElementByid()

getElementsByName()

getElementsByTagName()

Write()

DOM

Document Object Model文档对象模型

节点属性

parentNode 返回节点的父节点

childNode 返回子节点集合

firstChild 返回节点的第一个子节点,最普遍访问元素的文本节点

lastChild 返回节点的最后一个子节点

NextSibling 下一个节点

previousSibling 上一个节点

Element(元素)属性

firstElementChild 返回节点的第一个子节点

LastElementChild 返回节点的最后一个子节点

NextElementSibling 下一个节点

PreciousElementSibling 上一个节点

节点类型

NodeNeme(节点名称)

nodeValue(节点值)

nodeType(节点类型)

 

Element 元素 1

Attr 属性 2

Text 文本 3

Commrnts 注释 8

Document 文档 9

创建节点

createElement(“标签名”) 创建一个标签

A.appendChild(B) 把B节点追加至A节点末尾

insertBefore(A,B) 把A节点插入B节点之前

clone(deep) 复制某个指定节点

删除和替换节点

removeChild(“节点名”) 删除指定节点

repaceChild(“新节点”,“旧结点”) 用其他节点(新节点)替换指定节点(旧结点)

HTML中元素的属性

offsetLeft 返回当前元素左边界到他上级元素左边界的距离,只读属性

offsetTop 返回当前元素上边界到它上级元素的上边界的距离,只读

offsetHeight 返回元素高度

offsetWidth 返回元素宽度

offsetParent 返回元素的偏移容器,即对最近动态定位的包含元素引用

scrollTop 返回匹配元素的滚动条的垂直位置

scrollLeft 返回匹配元素的滚动条的水平位置

chientWidth 返回元素的可见宽度 窗口的宽高

clientHeight 返回元素的课件高度 窗口的宽高

 

方法:

如:Document.documentElement.scrollTop||document.body.scrollTop (获取滚动条距离顶部位置)

面向对象

自定义对象

字面量赋值:通过一个对象直接赋值给对象,全部以逗号隔开,最后一个不用

如:

Var flower={

Name:”长春花”,

Genera:”佳作他可”,

ShowName:function(){ alert(this.name) }

}

Flower.showName;

 

常见的内置对象

String(字符串) 对象:

Length属性

indexOf() replace()

 

Date(时间) 对象:

Get X X X:获取年,月,日,时,分,秒

Set x x x:设置年,月,日,时,分,秒

 

Array(数组) 对象:

Length 属性

Sort() concat() join()

 

Boolean(逻辑) 对象

True 或false

 

Math(算数) 对象:

Round() max() min()

 

RegExp (正则表达式) 对象:

 

 

Constructor

构造器,

Instanceof

检测是否属于

Prototype

这是一个指针,指向一个对象

用于在函数外添加属性

如:

Function Flower(){ }

Flower.prototype.name=”名”;

Flower.prototype.showName=function(){

Alert(this.name);

}

原型

一个构造通过prototype可以找到原型 a.prototype

原型通过constructor可以找到他的构造 a._proyo_.constructor

一个对象通过_proto_可以对的他的原型 a._proyo_

对象通过constructor可以找到他的构造 a.constructor

 

在javascript中创建对象的方式:

通过object创建对象

New Object()

 

通过创建构造函数重用代码:

Function person(_name_,_age_){ this.name=_name_; this.age=_age_ }

Var o2=new person(“tom”,20);

Var o3=new person(“can”,15);

通过字面量赋值方式创建对象

Var o4={ name:“tom”, age:20, show:function(){内容} }

o4.show();

Constructor和instanceof

Constructor:指定对象的构造函数

如:person.constructor==person

 

Instanceof:检测对象的类型

如:person instanceof Person

一般用于条件判断,当对象属于某个函数时才执行对应的操作

 

原型对象:

若是函数通过:prototype属性

若是对象通过:_proto_

 

作用:通过prototype为函数添加属性或方法

如:function person(){ }

Person.prototype.name=”tom”;

Person.prototype.show=function(){ }

 

javascript中的函数:

函数名称首字母大写

Function(){ };定义一个匿名函数(一般为方法赋值)

构造函数中的this关键字指代当前函数

JavaScript中的继承

通过原型继承

Function a(){ }

Function b(){ }

实现b继承a: b.prototype=new a();

 

通过call()方法继承

Function a(name){ this.name=name }

Function b(){ A.call(this,“tom”);}

 

在继承关系中,直接创建子类对象即可访问父类属性和方法

 

会读会画原型图

通过原型链了解函数对象之间的层级关系以及属性方法的访问权限

JQuery

创建于2006年

是对JavaScript对象和函数的封装,是目前最流行的程序库

写的少做的多(write less,do more)

 

用于访问操作Dom元素

控制页面效果,处理事件

能与Ajax技术完美结合(ajax用于前后台数据交换的技术,属于异步请求技术)

 

优势:

对DOM的封装,写的少做的多

文件体积小

提供了一些强大的选择器

兼容性好

相对于JavaScript操作简单,性能较好

获取:

官网:http://www.jquery.com

分类:

开发版jquery.3.2.1.js

发布版jquery.3.2.1.min.js

引入

<script src=”js.jquery.3.2.1.js” type=”text/javascript”><script>

注:只做引入jquery文件,标签内不可添加代码

加载

语法$(document).ready(function(){});

与window.onload的区别:

Jquery当页面结构加载完成后即可加载(不考虑图片、音乐等)

Onload当页面内容加载完整后再加载(考虑图片音乐等)

 

编写数量:

Jquery:同页面可存在多个

Onload:同页面只能存在一个

简化:

Jquery:$(function(){})

Onload:无

Jquery方法:

Html():获取或设置元素文本内容

css():设置元素样式

$(“选择器”).css(“属性”,“属性值”);

$(“选择器”).css({“属性”:“属性值”,“属性”,“属性值”})

Addclass():给元素添加或删除样式

$(“选择器”).addclass(“类样式名称”);

$(“选择器”).removeClass(“类样式名称”);

show():显示隐藏的元素

$("#a").show();

Hide():隐藏元素

$("#a").hide();

 

Eq():获取同类元素中指定索引位置的元素

Siblings():获取所有的兄弟元素

参数:获取同级所有指定类型的元素

如:$(“div”).siblings(“span”);获取所有与div同级的span元素

$(“div”).siblings():获取所有与div同级的元素不分类型

Jquery选择器

层次选择器:

后代选择器 元素,元素 获取被选择下的所有指定元素

子选择器 元素>元素 获取指定元素下的子元素

相邻选择器 元素+元素 获取指定的元素后一个的同级元素

兄弟选择器 元素~元素 获取所有与他同级的元素

属性选择器:

E[属性] 通过属性名称获取对应的元素

E[属性=‘属性值’] 通过属性及对应属性值获取指定的元素

E[属性!=‘属性值’] 属性对应属性值不是当前值得元素

E[属性^=‘字符’] 获取属性值中以指定字符开头的元素

E[属性$=‘字符’] 获取属性值中以指定字符结尾的元素

E[属性*=‘字符’] 获取属性中包含指定字符的元素

过滤选择器:

Eq[index] 索引值为index的元素

First 获取第一个指定的元素

Last 获取最后一个

Gt(index) 大于索引值为index的所有元素

Lt(index) 索引小于index的所有元素

Odd 获取奇数行元素

Even 获取偶数行元素

Not(选择器) 获取不包含指定选择器的元素

Header 获取标题元素

可见性过滤选择器

Visible 获取所有显示的元素

Hidden 获取所有隐藏的元素

事件

鼠标事件

单机事件:click

鼠标移入:mousemove

鼠标移出:mouseout

鼠标移过:mouseenter

鼠标离开:mouseleave

键盘事件

Keydown 按下时

Keyup 释放时 常用

Keypress 产生可打印字符时

 

KeyCode 键盘对应码 event或keyCode属性

绑定事件

Bind(“事件名称”,function) 绑定事件

Unbind(“事件名”,解除绑定的对应方法) 解除绑定

 

绑定多个函数:

$(选择器).bind({“事件”:function(){动作},“事件”:function(){},……})

 

Toggle() 连续点击事件

toggleClass()等同于添加删除

动画

Show().hide() 控制元素胡显示隐藏

语法:show(“速度”,function(){})

以页面左上角为起始点

 

常用参数:

Slow 慢

Fast 快

Normal 正常

可设置毫秒数:1000

Function(){}:动作执行完毕后触发的函数

 

FadeIn()淡入

Fadeout()淡出

以元素本身变化

 

都脱了标准文档流

 

 

 

 

Slideup 高度变短

Slidedown 高度边长

 

自定义动画

Animate({params},speed,callback)

Params定义动画css属性

Speed速度

Callback

 

Find() 找子元素

Attr() 获取属性和设置属性

Offset() 获取元素与边界的距离

Width() 获取元素宽度

Jquery操作document

样式操作

css():设置获取元素样式

设置:$(“div”).css(“color”,“red”);

获取:$(“div”).css(“color”)

 

Addclass():给元素添加类样式

RemoveClass():删除类样式

 

toggleClass():是addClass与removeClass()组合,实现类样式添加删除

 

Offset():元素左边界到父级边框的距离

ScrollsTop():滚动条距离顶部距离

Onscroll():滚动事件

scrollLeft():滚动条到左边的距离

 

Width()获取或设置元素宽度

内容操作

Html():获取或设置元素内容,获取匹配的第一个,设置同text(),可以设置元素节点

Text():获取或设置元素内容,获取匹配的所有元素,()中是什么显示什么

Val():获取或设置文本的value值,操作value的值

属性操作

Attr()设置或获取元素的属性或属性值

获取属性值:$(“选择器”).attr(“属性名称”)

设置属性值:$(“选择器”).attr(“属性名称”,“属性值”)

removeAttr()删除元素的属性或属性值

$(“选择器”).removeAttr(“属性名称”)

节点操作

查找:强大的选择器

标签

Id

层次

结构伪类

属性

 

创建节点:

$(“节点”);

如:var  node=$(“<li>内容</li>”)或$(“<li class=‘a’>内容</li>”)

 

插入节点:

append();在指定元素后追加新元素

appendTo();将一个元素添加到指定元素后

Prepend();在指定元素前添加新元素

penpendTo();将一个元素添加到指定元素前

After():在指定元素后追加

inserAfter()

Before():在指定元素前追加

inserBefore()

注:

append()\prepend():为指定元素拼接子元素添加同perpend()

after()\before():为指定元素追缴同级元素

 

删除节点:

remove():删除元素及绑定事件

Empty():清空元素内容

Detach():删除元素但保留元素事件

 

 

修改节点:

replaceWith():修改指定节点

ReplaceAll():修改所有所在位置的元素

用法与append()/appendTo()同理

 

复制节点:

Clone(true/false)

配合使用插入方法插入到指定位置

如:var  a =$(“选择器”).clone(true/false);的到一个节点

a.appendTo($(“选择器”))

 

遍历节点

Each():遍历

End():清空之前的设置从新开始

Eq(n):获取第n个位置的指定元素

Find():获取制动元素内对应元素

Siblings():获取指定元素的所有同级元素

first():获取指定元素的第一个元素

Last():获取指定元素的最后元素

Next():获取指定元素的下一个元素

Ptev():获取指定元素的上一个元素

 

Each()遍历

$(“节点”).each(function(i,v)){

Console.log(i+“……”$(v).html());

}

或:

Var obj={“1”:“tom”,“2”:“jerry”}

$.each(obj.function(i,v){

Console.log(i+“……”+v);

})

表单验证

减轻服务器压力

保证输入字符分合法性

 

实现表单验证

获取表单中的值

在Javascript或jquery中进行判断

在表单的事件中触发JavaScript进行判断

 

验证

非空:值==“”

是否存在某字符,indexOf(‘字符’)==-1

长度:值length

判断是否

 

表单事件和方法

事件:

Onblur() 失去焦点,当光标离开某个文本框是触发

Onfocus() 获得焦点,当光标进入某个文本框时触发

 

方法:

Blur() 从文本域中移开焦点

Focus() 在文本域中设置焦点,即获得光标

Select() 获取文本域中的内容,突出显示输入区域的内容

正则表达式

Exec 检索字符中是否是正则表达式的匹配

Test 检索字符串中指定的值

 

Global 是否全局匹配

ignoreCase 忽略大小写

Multiline 多行匹配

 

/……/ 声明正则开始结束

^ 开始

$ 结束

\s 空白字符

\d 数字[0~9]

\w 字母,数字,下划线{a-zA-Z0-9}

. 换行符意外的所有字符

“\S,\D,\W均与小写相反”

{n} 匹配n次

{n,} 匹配至少n次

{n,m} 匹配n次,不超过m次

+ 至少匹配一次

? 匹配0次或1次

* 零次或多次

 

Validity属性

valueMissing 验证是否必填项

True空

False非空

typeMismatch 与type是否匹配

True匹配

False不匹配

PatternMismatch验证与正则匹配

True匹配

False不匹配

tooLong长度超范围

rangeUnderflow小于min时true

 

 

H5:

Required 非空验证

Placehold 提示信息

Pattern 正则验证

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值