JS入门经典

1, JS支持三种对象类型
(1) JS内置对象(如Date,Array, String, Math等)。
(2) 文档对象模型(DOM )。
(3) 自定义对象。

2, html中运行js脚本的顺序。
(1) html中先执行<head>内的JS,无论该js是嵌入代码或是指向一个js文件,因为这些脚本不能再web页面上建立输出,所以这个位置可定义以后要使用的函数。
(2) html中后执行<body>内的JS,body中的js安先后顺序执行。
(3) html中最后执行js事件处理程序,如可以在<head>中定义事件处理函数,并在html事件处理程序中使用它们。

3, DOM对象
为了操作浏览器和文档,js使用分层的父对象和子对象,这就是DOM。dom不是js语言的一部分,而是内置在浏览器中的一个应用程序的api接口,该对象的组织类似一个树型结构,表示一个web文档的所有内容和组件,Dom对象拥有属性(描述页面或文档的变量)和方法(允许操作web页面)。

4, Window对象
在浏览器对象层次的最顶层是window对象,它表示一个浏览器窗口。

5, Window子对象
Document:document对象代表一个web文档或一个页面。
History:history对象保存着当前地址之前和之后访问过的网址信息,它包括达到前一个地址和后一个地址的方法。
Location:location对象存储的是窗口的当前url网址的信息。

6, JS的数据类型
数字:支持整数和浮点数。
布尔数:真或假两个值。
字符串:一个或多个字符组成。
空值:关键字null。

7, 数据类型的转换
字符串转换为数字类型
ParseInt():将一个字符串转换为整数值。
parseFloat():将一个字符串转换为浮点小数值。
Var strvar = “30 day”
Var numvar = parseInt(strvar);
Numvar的值为:30;
字符串转换为数字函数从字符串的开始处寻找适当的数字,如果没有发现一个有效数字,函数将返回一个特殊值NAN,意思是非数字。

8, 子字符串的使用
toUpperCase():将字符串内所有字符转换为大写
tolowerCase():将字符串内所有字符转换为小写
substring(n , m):返回一个子字符串,索引从0开始,返回从n(包含第n个)到m(不包含第m个)之间的字符串。
charAt(n):返回一个字符,索引从0开始,返回第n个字符。
indexOf(str):查找子字符串,返回子字符串在字符串中的索引值,索引从0开始。
indexOf(str , n):查找子字符串,返回子字符串在字符串中的索引值,索引从n开始。
lastIndexOf(str):查找子字符串,返回子字符串在字符串中最后一个的索引值。
split(str):将一个字符串按照分隔符str分割字符串,返回分割后的字符串数组。

9, 数组的使用
join(str):将一个数组按照连接符str连接数组,返回连接后的字符串。
reverse:返回反转后的数组。
sort():将一个数组安升降排序。
sort(funcompare):将一个数组按照funcompare函数比较排序。

10, Math内置对象
Math.ceil(n) >= n:将一个数向上舍入到上一个整数。
Math.floor(n)<=n:将一个数向下舍入到下一个整数。
Math.round(n):将一个数舍入到最接近的整数。
Math.random():可以生成0到1之间的随机小数。
保留两位小数:
Function round(num){
return Math.round(num*100)/100;
}
生成随机数
Function rand(num){
Return Math.floor(Math.random()*num)+1;
}

11, With关键字
With关键字指定一个对象,后面跟着大括号的一个语句块,对于语句块中的每一条语句,没有指定对象的属性都将被假定为该对象的属性。从而可以节约写的代码的时间。
var str = “abcdefg”;
With(str){
Alert(toUpperCase()+“,”+length);
}

12, Date对象
Date对象的创建:
Var date = new Date() // 创建当前时间。
Var date = new Date(2011, 9, 20);
Var date = new Date(2011, 9, 20, 15, 30, 20);
setDate():设置某日
setMonth():设置某月
setFullYear():设置某年
setTime():设置时间
setHours():设置小时
setMinutes():设置分钟
setSeconds():设置秒
getDate():获取某日
getMonth():获取某月
getFullYear():获取某年
getTime():获取时间
getHours():获取小时
getMinutes():获取分钟
getSeconds():获取秒

根据日期排序时间
var arr = new Array();
arr[0] = new Date();
arr[1] = new Date(2001, 3, 28);
arr[2] = new Date(2002, 6, 25);
arr[3] = new Date(2002, 6, 24);

alert(arr[1].getDate());

function arcompare(da, db){
return da.getDate() - db.getDate();
}

arr.sort(arcompare);

alert(arr[1].getDate());

13, Event对象
Event属性:不同浏览器的event对象属性不同
IE:
event.button—按下鼠标键,对于鼠标左键,这个属性值为1,而对于鼠标右键通常为2;
event.clientX—事件发生位置的X轴坐标(列,以像素为单位)。
event.clientY—事件发生位置的Y轴坐标(行,以像素为单位)。
event.ctlKey—表示事件发生时是否按下CTRL键
event.altKey—表示事件发生时是否按下ATL键
 
event.shiftKey—表示事件发生时是否按下SHIFT键
event.keyCode—表示按键的Unicode码。
event.srcElement—元素出现的对象。
Firefox:
event.button—按下鼠标键,对于鼠标左键,这个属性值为0,而对于鼠标右键通常为2;
event.modifiers—表示事件发生时按下了那一个修饰键。(atl,ctrl, shift)
event.pageX—事件发生位置的X轴坐标(列,以像素为单位)。
event.pageY—事件发生位置的Y轴坐标(列,以像素为单位)。
event.which—表示按键的Unicode码。
event.target—元素出现的对象。

按键显示
function displaykey(e){

if(e.keyCode) var keycode = e.keyCode;
else keycode = e.which;
var charvar = String.fromCharCode(keycode);
var ke = document.getElementById("keydis");
ke.innerHTML += charvar;
}

14, 打开和关闭窗口,调整窗口大小和位置。
Window.open():打开窗口。
Window.close():关闭窗口。
Window.moveTo(x,y):移动窗口的位置—绝对
Window.moveBy(x,y):移动窗口的位置—相对
Window.resizeTo(w,h):调整窗口的大小—绝对
Window.resizeBy(w,h):调整窗口的大小—相对

var newwin;

function opnewwin(){
newwin = window.open("", "nwin", "toolbar=no, status=no, width=200, height=100");

}

function closenewwin(){
newwin.close();
}

function movenewwin(){
var w = document.theform.w.value;
var h = document.theform.h.value;
var x = document.theform.x.value;
var y = document.theform.y.value;
if(w && h){
newwin.resizeTo(w, h);
}
if(x && y){
newwin.moveTo(x, y);
}
}

<form name="theform">
<input type="button" value="OPEN NEW WIN" onclick="opnewwin()"/>
<input type="button" value="CLOSE NEW WIN" onclick="closenewwin()"/>
<br />
width:<input type="text" name="w"/>
height:<input type="text" name="h"/><br />
x-postion:<input type="text" name="x"/>
y-postion:<input type="text" name="y"/><br />
<input type="button" value="go" onclick="movenewwin()"/>
</form>

15, Js超时功能
Var indent = window.setTimeOut(“alert(‘aa’)”, 1000);//1000毫秒后执行一次alert
Window.clearTimeOut(ident);//停止超时事件

刷新
Var count = 0;
Function updatePage(){
Count++;
Var id = window.setTimeOut(“updatePage()”,1000);
}

16, Window显示对话框
Window对话框有三种:
Window.alert(msg):消息对话框
Window.confirm(msg):确认对话框
Window.prompt(msg,default):输入对话框

17, 获取表单中元素
document.getElementById(Id);//返回具有指定id属性的元素
document.getElementsByTagName(tag);//返回具有指定标签名的所有元素的一个数组。可以使用同配符(*)返回含有文档中所有节点的一个数组。
document.formName.elementName;//


18, Text和textarea事件
focus():设置文本输入焦点事件
blur():设置文本输入焦点离开事件
select():设置文本选择事件

onFocus:文本输入焦点时发生的事件
onBlur:文本输入失去焦点时发生的事件
onChange:文本改变后失去失去光标时发生的事件
onSelect:文本输入中文本被选择时发生的事件

焦点事件
function focusinput(){
alert("请先输入用户名");
document.theform.inp.focus();
}

<form name="theform">
用户名:<input name="inp" type="text" />
密码:<input name="in" type="text" onfocus="focusinput()" />

</form>

19, Js改变CSS样式
document.getElementById(id).style.css=value

改变CSS颜色
function changesele(){
var val = document.theform.sele.value;
document.getElementById("div").style.color=val;
}
<div id="div">test color</div>
<form name="theform">
<select name="sele" onchange="changesele()">
<option value="blue">blue</option>
<option value="red">red</option>
<option value="gray">gray</option>
</select>
</form>

在一些CSS属性的名称中间有连字符,比如border-color等,在js中使用这类属性时,连字符隔开的两部分要合并在一起,连字符后半部分采用首字母大写形式。如borderColor。

20, 节点属性和操作方法
节点属性:
nodeName:节点名称,如<div>标签名称为DIV,<input>标签名称为INPUT,文档节点document名称为#document,文本节点的名称为#text。
nodeType:描述节点类型的一个整数,1表示正常的html标签,3表示文本节点,9表示文档节点。
nodeValue:是文本节点包含的实际文本,这个属性对于其他类型的节点无效。
InnerHTML:是任意节点的html内容。

firstChild:是节点的第一个子对象。
lastChild:是节点的最后一个子对象。
childNodes:是节点的所有子节点的数组
previousSibling:是节点之前的兄弟节点。
nextSibling:是节点之后的兄弟节点。
parentNode:是节点的父节点。

document节点的操作方法:
createTextNode(text); 创建一个文本节点。
createElement(tag); 创建一个html元素。
页面中的节点方法:
appendChild(new); 把指定的新节点添加在该对象所有现有节点自后。
insertBefore(new,old); 把指定的新子节点插入到指定的原有子节点之前。
replaceChild(new,old); 把新节点替换指定的原有子节点。
removeChild(node); 从对象中删除一个子节点。
hasChildNodes();判断对象是否含有子节点,有返回true,无返回false。
cloneNode(); 为某个现有节点创建一个副本,如果传入true的参数,则该副本包括原始节点的所有子节点。

树形菜单:
<script type="text/javascript" language="javascript">
function menuli(obj){
var pid = obj.getAttribute("id");
var cid = pid + "-" + "menu";
var cul = document.getElementById(cid);
var pval = obj.firstChild.nodeValue.substring(3)
if(cul.style.display=="none"){
var pr = "[-] " + pval;
obj.firstChild.nodeValue = pr;
cul.style.display = "block";
}else{
var pj = "[+] " + pval;
obj.firstChild.nodeValue = pj;
cul.style.display = "none";
}
}
</script>


<div>
<ul>
<li><a id="one" href="#" onclick="menuli(this)">[-] one menu</a>
<ul id="one-menu">
<li><a href="#">one child1</a></li>
<li><a href="#">one child2</a></li>
</ul>
</li>
<li><a id="two" href="#" onclick="menuli(this)">[-] two menu</a>
<ul id="two-menu">
<li><a href="#">two child1</a></li>
<li><a href="#">two child2</a></li>
</ul>
</li>
</ul>
</div>


21, 添加多事件处理程序
Window.addEventListener(“name”, fun, boolean); 为事件(name事件名称)添加事件(fun事件处理函数),boolean标明事件处理标志位,指明如何处理多个事件,一般设置为false。IE6,IE7和IE8没有提供对它的支持。
Window.removeEventListener(“name”, fun, boolean); 为事件(name事件名称)删除事件(fun事件处理函数)。
Window.attanchEvent(“name”,fun); IE6,IE7和IE8支持该事件添加函数。
Window.detachEvent(“name”, fun);

Window.addEventListener(“click”, clickfun, false);
Window.attanchEvent(“onClick”, clickfun);

添加单击事件
<div id="clickid">aaa</div>
<script type="text/javascript" language="javascript">

var obj = document.getElementById("clickid");
//功能检测技术
if(obj.addEventListener){
alert("a");
obj.addEventListener("click", clickfun, false);
}else if(obj.attachEvent){
obj.attachEvent("onclick", clickfun);
}

function clickfun(){
alert("click");
}
</script>

22, 浏览器信息。
navigator导航器对象,js通过该对象可以读取用户浏览器的信息。
navigator.userAgent; 用户代理头信息,请求web页面时,浏览器发送给web服务器的字符串。
navigator.appName; 浏览器的名称。
Navigator.appVersion; 浏览器版本号。
Navigator.appCodeName; 浏览器内部代码名称。
Navigator.language; 浏览器使用语言。如en_US表示为U.S
Navigator.platform; 计算机平台系统。

跨浏览器的js支持可以使用:功能检测技术。

23, 为不支持JS的浏览器提供支持
使用<noscript>标签,当浏览器不支持js时该标签内的信息会显示。

24, JS代码风范
多注释,少逻辑。
每句js语句以分号结束。
变量声明用var关键字。
多调试用alert。

25, Js错误处理
使用window.onerror属性指定一个函数来设置错误处理程序。一旦指定了错误处理程序,当脚本运行出错时,浏览器将会调用这个指定的函数,而不是弹出常规的错误对话框。
<script language="javascript" type="text/javascript">
function errmsg(message, url, line){
alert("there is error:"+message+"=="+line+"=="+url);
return true;
}
window.onerror = errmsg;

obj.get();
</script>
上面定义的errmsg为window.onerror的错误处理函数。如果该函数的返回值为true,则表示函数已对错误进行了处理,并且屏蔽了默认错误处理或对话框。相反如果返回false,则退出函数后,仍然会进行默认错误处理。

使用try和catch来处理错误代码
try{
obj.get();
}catch(err){
alert(err.description);
}

26, Ajax
Ajax过程
创建请求:
Ajaxreq = new XMLHttpRequest();
Ajaxreq = new ActiveXObject(“Microsoft.XMLHTTP”);//兼容IE5和IE6
打开URL:
Ajaxreq.open(“GET”, “url?para”, true);
Ajaxreq.open(“POST”,”url”,true);

发送请求:
Ajaxreq.send(null);
Ajaxreq.send(para); //post提交参数
等待响应:
Ajaxa.onreadystatechange = ajaxResponse;//响应函数
解释响应数据:
Ajaxreq.readyState
0(未初始化):对象创建成功,但未调用open
1(初始化):open方法调用成功,但尚未发送至服务器
2(请求发送成功):send方法调用成功,请求已经发送至服务器
3(数据下载中):服务器已经返回信息,并且开始下载数据
4(请求结束):服务器下载数据成功,或者网络连接中断请求出错。

27, Image对象。
Image对象的属性:
Complete:该属性用于指示图像是否已经被完全加载,该属性是一个boolean值。
Height和width:该属性给出了图像的尺寸信息。
Hspace和vspace:给出图像的位置信息。
Name:表示图像的属性。
Src:表示他图像的源或url。

28, Js获取窗口或对象的大小,位置
获取窗口或对象的大小
clientWidth和clientHeight:获取窗口/元素的可视区域大小,不包含滚动条和边框。
offsetWidth和offsetHeight:同样是获取窗口/元素的大小,这个属性的大小包括边框和滚动条。

<style>
#de{ position:relative; border:solid 1px gray; width:100px; height:100px; overflow:hidden;}
#te{ position:absolute; top:100px; left:5px;}
</style>


<body>
<div>
<p>jjd jl fsa lwe jdlkjew lj jwke ml wej </p>
</div>

<div id="de">
<div id="te">
<p>adf dfasdf</p>
<p>dfd jj njkjlkj j ljl jlkj j ljlj j</p>
<p>jlkj jlkj l kj kllj </p>
</div>
</div>
<script language="javascript" type="text/javascript">

var $ = function (id){
return document.getElementById(id);
}

var de = $("de"),
te = $("te");

var teh = te.offsetHeight,
deh = de.offsetHeight;


var tetop = deh;

function scrolld(){
if(--tetop < 0-teh){
tetop = deh;
te.style.top = tetop;
window.setTimeout("scrolld();", 30);
}else{
te.style.top = tetop;
window.setTimeout("scrolld();", 30);
}
}

window.setTimeout("scrolld();", 30);

</script>
</body>

获取对象的位置
offsetLeft和offsetTop:获取对象的相对位置,获取位置是比较麻烦,因为其存在浏览器兼容问题,不同的浏览器参照物可能不同,对于 IE 来说,他相对于 parentNode,对于其他浏览器来说,它相对于某个 position 不等于 static 的祖先节点。
不过,幸运的是所有浏览器都有一个 offsetParent 来指向它的参照物。那们,我们就可以轻松地获取到元素相对于其参考物的位置。写一个循环,直接其指向浏览器窗口的边缘。
function(){
var culeft = 0, cutop = 0;
if(obj.offsetParent){
culeft = obj.offsetLeft;
cutop = obj.offsetTop;
obj = obj.offsetParent;
}
return [culeft, cutop];
}
居中显示边距=======================================================
<style>
#did{ position:absolute; width:500px; border: solid 1px #aaa; padding: 10px;}
</style>

<body>
<div>
<ul>
<li>aaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaa</li>
</ul>
</div>
<div id="did">
whith:<span id="w"></span>---height:<span id="h"></span>
left:<span id="l"></span>---top:<span id="t"></span>
<p>jdfdsljf jsdflj dsfjsdaf sdljf djflsd j dfljds fdljf sdlfjd fljds fj</p>

</div>

<script type="text/javascript" language="javascript">
var $ = function(id){
return document.getElementById(id);
}

var htmlobj = document.documentElement,
divobj = $("did"),
divwid = $("w"),
divhid = $("h"),
divlid = $("l"),
divtid = $("t");

var divw = divobj.offsetWidth,
divh = divobj.offsetHeight;

var setdiv = function (){
var htmlw = htmlobj.clientWidth,
htmlh = htmlobj.clientHeight;

var marginx = htmlw > divw ? -(divw/2) : 0,
marginy = htmlh > divh ? -(divh/2): 0;

var left = marginx == 0 ? 0 : "50%",
top = marginy == 0 ? 0 : "50%";

divobj.style.left = left;
divobj.style.top = top;
divobj.style.marginLeft = marginx;
divobj.style.marginTop = marginy;
}

var getdiv = function(){
var culeft = 0, cutop = 0, obj = divobj;
if(obj.offsetParent){
culeft = obj.offsetLeft;
cutop = obj.offsetTop;
obj = obj.offsetParent;
}
divlid.innerHTML = culeft;
divtid.innerHTML = cutop;
}

window.onresize = function(){
setdiv();
getdiv();
}

</script>

</body>


29, Js控制css样式文件有效性
<link rel="stylesheet" href="test25-1.css" type="text/css" disabled="disabled"/>
<link rel="stylesheet" href="test25-2.css" type="text/css" />
<script language="javascript" type="text/javascript">

function clickstyle(n){
var lin = document.getElementsByTagName("link");

for(var i = 0; i < lin.length; i++){
if(i == n){
lin[n].disabled = true;
}else{
lin[i].disabled = false;
}
}
}

</script>

30, Eval函数
eval:将一个字符串作为javascript语句执行。
eval("x=10;y=20;document.write(x*y)"); 200
document.write(eval(“2+2”)); 4
var x = 10;
document.write(eval(x+17)); 27
每天一个优秀提示词学习收藏 - 文本创作篇(二) 宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本创作 Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧! 阅读详情

相关推荐

【WPF】渲染失败甚至程序崩溃,D3DImage.Lock卡死,报COMException异常和UCEERR_RENDERTHREADFAILURE消息

最近遇到WPF程序抛出ystem.Runtime.InteropServices.COMException异常,异常消息UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406),或者先在D3DImage.Lock卡死,然后再出异常的问题。 现象和复现方法 出现了标题中的现象,你很可能有至少两个屏幕,并且可能在你的程序中直接或间接用了如下的库或技术: 1、WpfD3D这个开源库 2、自行使用了WPF中的D3DImage类,实现D3D

几罗星人的专栏 8254

正则表达式

正则表达式

m0_51981718的博客 538

鸿蒙进阶——HDI及IDL硬件接口IPC框架小结

HDI(Hardware Device Interface):OpenHarmony硬件设备接口,定义系统中跨进程通信的接口,实现服务间的跨进程通信

最美不过,心中有梦,身旁有你! 3905

Java 环境JDK下载、安装以及环境变量配置详细图解

一、安装java环境,JDK 1、JDK下载地址 链接:https://pan.baidu.com/s/10EJlkjw3nVRhx7GA2MGN1Q 提取码:gno5 2、找个盘符,创建一个名为java的文件夹,在java文件夹内新建JDK文件夹,最后在JDK文件夹内再新建两个文件夹:jdk,jre 3、点击下载的JDK开始安装,点击下一步 4、此时出现的界面是jdk的安装,点击更改按钮,把目录更改到jdk目录下 5、点击下一步安装,等待…… 6、以下界面是jre的安装,把目录更改到jre目

张培跃的个人博客 2582

【导航】ESP32 教学篇目录 【快速跳转】

本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 的WIFI及连接的程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨! ↓↓↓通过下方 按钮 进入专栏主页↓↓↓ 专栏主页:点击进入→ESP32 教学专栏 (基于ESP-IDF) WIFI二级专栏:点击进入→ESP32 上的 WiFi ............

Augtons 的博客 3万+

UVM自学笔记3——项目之三——从零开始搭建ahb_sramc验证平台

创建如下所示的目录结构: 2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和39行将接口以virtual interface的形式配置给ahb_agent和sramc_agent下

ZhangShuHuai11的博客 9477

python语言笔记

x.insert(index,数据) #将某个数据加载index前。元组与别与列表有主要两个区别:1.不可变性:不能更改数据操作相对简单。转换成复数:complex()、complex(x,y)运算包括+、+=、*、==、!x.append() #向列表某位加单个数据。remove()\删除第一次出现的数据。用小括号存储数据,多个数据用逗号隔开。转换成浮点数:float()转换成十六进制:hex()转换成二进制:bin()转换成十进制:int()转换成八进制:oct()2.列表用【】元组用()

2503_91026040的博客 259

车载以太网网络测试-27【SOME/IP-SD简述】

SOME/IP-SD协议是基于IP的可扩展面向服务中间件中的服务发现协议,是汽车电子和嵌入式系统中实现动态服务发现与通信的核心组件。该协议规范详细说明了协议SOME/IP服务发现(SOME/IP-SD)的格式、消息序列和语义。本文将对SOME/IP-SD协议进行详细介绍。

车载网络测试工程师的博客 1956

K3 做售服任务的相关处理流程(新单下推老单反写信息)

由于售服的物料不走MRP计划,另外设计出清单会比较晚,而且后期会有增减,所以需要一张表单来登记售服任务的物料明细。三、最后跟单员查看售服订单平台上收费的任务是否开票,免费的任务与业务员确认,是否完结。1、要求所有售服任务做销售订单,在销售订单界面上增加“售服单号”列。当齐套比例是100%时,核对库存数量是否充足,通知仓库配送。为了有效处理售服任务的物料跟踪情况,制作相关单据进行处理。2、利用K+自定义报表功能做一个维护平台。2、日常维护,同样建一个K+报表进行维护。一、建立售服订单维护平台。

weixin_44819434的博客 440

YOLOv13结合Sobel边缘检测算子,实现EIEM(Edge Information Enhancement Module,边缘信息增强模块),强化空间特征提取

EIEM模块通过巧妙地结合Sobel边缘检测算子和现代卷积网络架构,实现了显式边缘信息增强的创新设计。这种方法不仅提高了网络对边缘特征的敏感性,还保持了良好的计算效率和模块化特性。 从技术实现角度看,EIEM展示了如何将经典计算机视觉算法无缝集成到深度学习框架中,为构建更强大、更可解释的视觉模型提供了新的思路。随着对边缘信息重要性认识的不断深入,以及对网络可解释性需求的增长,EIEM这样的显式特征增强模块将在未来的计算机视觉研究中发挥越来越重要的作用。

FJN110的博客 907

基于深度学习的生活垃圾检测与分类系统:YOLOv5、YOLOv6、YOLOv7与YOLOv8实现

本项目的目标是开发一个基于YOLO系列模型的生活垃圾检测与分类系统。数据集准备与标注:收集并标注生活垃圾图像数据集。模型训练:使用YOLOv5、YOLOv6、YOLOv7、YOLOv8等深度学习模型训练垃圾分类系统。UI界面设计:设计一个简洁的用户界面,支持图像或视频的上传与垃圾分类结果展示。实时垃圾检测与分类:通过摄像头进行实时垃圾检测和分类。结果展示与保存:展示检测结果,支持用户保存分类后的图像或视频。

YOLO 705

javascript入门经典百度云,JavaScript入门经典目录

HTML 是一种标记语言,用来结构化我们的网页内容并赋予内容含义,例如定义段落、标题和数据表,或在页面中嵌入图片和视频。CSS 是一种样式规则语言,可将样式应用于 HTML 内容,例如设置背景颜色和字体,在多个列中布局内容GPT改写。JS是一种脚本语言,可以用来创建动态更新的内容,控制多媒体,制作图像动画,还有很多。(好吧,虽然它不是万能的,但可以通过简短的代码来实现神奇的功能。JavaScript主要用于HTML的页面,嵌入在HTML的源码中。

阿发狗伪原创 331

【Claude Code 源码解析教程】总体大纲

本教程旨在深入解析 Anthropic Claude Code 项目的源码架构和实现细节。Claude Code 是一个基于 TypeScript + Bun 构建的 AI 编程助手 CLI 工具,代号 "Tengu",具有复杂的多模块架构和丰富的功能特性。本教程基于Claude Code 的源码分析来生成,将帮助您全面掌握 Claude Code 的源码架构和实现细节,为开发类似 AI 编程助手工具奠定坚实基础。

rengang66的博客 387

html css javascript入门经典,HTML,CSS和JavaScript入门经典

HTML,CSS和JavaScript入门经典语音编辑锁定讨论上传视频《HTML,CSS和JavaScript入门经典》是2015年人民邮电出版社出版的图书,作者是朱莉,梅洛尼(Julie Meloni)。书名HTML,CSS和JavaScript入门经典作者朱莉,梅洛尼(Julie Meloni)出版社人民邮电出版社ISBN9787115405944HTML,CSS和JavaSc...

weixin_27037521的博客 881

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

javascript入门经典百度云,javascript基础入门教程

智能社JS全套视频教程+高清入门java下载 -博学网整理提供——更多资源,课程更新在 多智时代 duozhishidai.com。L22 22 - JS事件高级应用 - 01。L23 23 - JS事件高级应用 - 02。L26 26 - JS面向对象基础 - 01。L27 27 - JS面向对象基础 - 02。L15 15 - JS运动基础 - 01。L16 16 - JS运动基础 - 02。L17 17 - JS运动应用 - 01。L18 18 - JS运动应用 - 02。

阿发狗伪原创 195

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

javascript基础入门案例,js经典案例代码大全

根据EcmaScript 6 规范规定,如果第一个参数传入的对象调用者是null,或者undefined,call方法就把全局对象(浏览器上全局对象是window对象,Node.js上全局对象是global对象)作为this的值,所以不管传入null或者undefined,this都是指全局对象window。“A”-“B”的运算中,需要先把”A”和”B”用Number函数转换为数值,其结果为NaN,在剪发操作中,如果有一个是NaN,则结果是NaN,因此”A”-“B”结果为NaN。

chatgpt001的博客 269

【JS】【笔记】JavaScript入门经典(第5版)第10章 JavaScript和cookie

本文为个人读书笔记,大部分为书中内容摘要。仅供记录和分享学习中遇到的需要留意的问题,如有相关版权问题请及时通知作者。 概述      http是一种无状态协议,不保存任何信息。这给在浏览器回话期间维持某种连续性带来了困难,cookie是解决这个问题的一个途径。      cookie本身是一些短小的信息串,能够由页面保存在用户的计算机上,然后可以被其他页面读取。 coo

在咖啡里溺水的鱼 856

chart折线图_JavaScript经典入门级图表组件—Chart.js

简要介绍Chart.js是我个人接触较早的一款图表组件。它在github拥有51.2k颗星,风格属于简约型的,它只支持基本的折线图、条状图、饼状图,其他图表类型涉及很少。值得令人称赞的,这个项目依旧在保持不断更新。最新版本:v2.9.4。我对它的评价是:经典入门型。Github地址https://github.com/chartjs/Chart.js安装直接去Github下载引用效果var ctx...

weixin_35172689的博客 406

【前端阅读】——《JavaScript入门经典》摘记之JavaScript与XML

【前端阅读】——《JavaScript入门经典》摘记之JavaScript与XML 前言:这本书除了基础的JavaScript理论体系之外,有一个特别的章节,就是讲解——JavaScript与XML的关系,从中,我更进一步的了解了XML的基础、创建、显示以及使用JavaScript如何操作XML的知识,以下就是我对这部分内容的简单梳理,采用思维...

柳柳66的博客 207

原版销售累计超过150 000册的经典JavaScript入门书

媒体评论 如果你要学习 JavaScript,本书绝对不容错过。 ——JavaScript.about.com 一本伟大的 JavaScript入门书!适合初级程序员和 Web设计师。                                                         ——Amazon.com     原版销售累计超过 150 000册    ...

图灵教育官方博客 104

【JS】【笔记】JavaScript入门经典(第5版)第9章 响应事件

本文为个人读书笔记,大部分为书中内容摘要。仅供记录和分享学习中遇到的需要留意的问题,如有相关版权问题请及时通知作者。 事件范例 常见事件处理器 事件处理器 响应的事件 onBlur 用户离开字段 onChange 用户修改了值 onClick 点击 onDblClick 双击

在咖啡里溺水的鱼 616

js入门经典学习小结

两种方法,一种是写到html标签里,一种是写在js文件里,然后在html里用script标签的src属性引入自定义的js文件}注意,如果用src引入外部js文件,则html的script标签里不能有任何内容虽然js文件后缀是.js,但浏览器其实可以无视后缀,即你后缀不对但文件内容对也能加载出来js如果在html定义,放在head还是body?

peter6768的博客 1145

经典的JavaScript入门书

经典的JavaScript入门书——《JavaScript基础教程(第7版)》 原版销售累计超过150 000册! 欢迎你使用JavaScript!使用这种容易上手的程序设计语言,可以给网页增色,使网页更好用。本书是一本轻松的JavaScript入门教程,所以即使不是计算机高手,你也可以由此很快学会脚本编写。本书相

图灵教育 2620
下一篇: 悟透JS
xmong
博客等级 码龄19年 33粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值