JavaScript事件处理和常用对象
文章目录
- 前言
- 一、事件处理程序
- 1.JavaScript 常用事件
- 2.事件处理程序的调用
- 二、常用对象
- 1.Window 对象
- 2.String 对象
- 3.Date 对象
- 总结
前言
JavaScript 语言是事件驱动型的。这意味着,该门语言可以通过事件触发来调用某一函数或者一段代码。该文还简单介绍了Window 、String、Date 对象如何使用。
一、事件处理程序
JavaScript 可以以事件驱动的方式直接对客户端的输入做出响应,无需经过服务器端程序。JavaScript 简化了图形界面的交互操作,使得其更加简单直接。
什么是事件处理程序?
JavaScript 与 Web 页面之间的交互是通过用户操作浏览器页面时触发事件来实现的。例如,当用户点击页面按钮时,会触发按钮的 onclick 事件,从而执行 onclick 调用的事件处理程序等等。事件处理程序是用于响应某个事件而执行的处理程序。它可以是任意 JavaScript 语句,但通常使用特定的自定义函数(Function)来对事物进行处理。
1.JavaScript 常用事件
JavaScript 语言有很多的常用事件。
| 事件 | 何时触发 |
| onabort | 对象载入被中断时触发 |
| onblur | 元素或窗口本身失去焦点时触发 |
| onchange | 改变<select>元素中的选项或其他表单元素失去焦点,并且在其获取焦点后内容发生过改变时触发 |
| onclick | 单击鼠标时触发。当光标的焦点在按钮上,并按下 Enter 键时,也会触发该事件 |
| ondblclick | 双击鼠标时触发 |
| onerror | 出现错误时触发 |
| onfocus | 任何元素或窗口本身获得焦点时触发 |
| onkeydown | 键盘上的按键(包括 Shift 或 Alt 等键)被按下时触发,如果一直按着某键,则会不断触发。当返回 false 时,取消默认动作 |
| onkeypress | 键盘上的按键被按下,并产生了一个字符时发生。也就是,当按下 Shift 或 Alt 等键时不触发。如果一直按下某键时,会不断触发。当返回 false 时,取消默认动作。 |
| onkeyup | 释放键盘上的按键时触发 |
| onload | 页面完全载入后,在 Window 对象上触发;当所有框架都载入后,在框架集上触发;<img>标记指定的图像完全载入后,在其上触发;或 <object> 标记指定的对象完全载入后,在其上触发。 |
| onmousedown | 单击任何一个鼠标键时触发 |
| onmousemove | 鼠标在某个元素上移动时持续触发 |
| onmouseout | 将鼠标从某个指定的元素上移开时触发 |
| onmouseover | 鼠标移到某个元素上时触发 |
| onmouseup | 释放任意一个鼠标按键时触发 |
| onreset | 点击重置按钮时,在 <form> 上触发 |
| onresize | 窗口或框架的大小发生改变时触发 |
| onscroll | 在任何带滚动条的元素或窗口上滚动时触发 |
| onselect | 选中文本时触发 |
| onsubmit | 单击提交按钮时,在<form> 上触发 |
| onunload | 页面完全卸载后,在 Window 对象上触发;或者所有框架都卸载后,在框架集上触发 |
2.事件处理程序的调用
在使用事件处理程序对页面进行操作时,最重要的是如何通过对象的事件来指定事件处理程序。在 JavaScript 中调用事件处理程序,复杂繁琐但可以供程序员进行更多的代码操作;在 HTML 中调用事件处理程序,简单实用但是更多复杂的交互不易实现。开发过程中可以根据实际情况来选择。
(1)在 JavaScript 中调用
在 JavaScript 中调用事件处理程序时,首先需要获得要处理对象的引用,然后将要执行的处理函数赋值给对应的事件。
实操:创建一个按钮,点击该按钮元素会触发事件 onclick,从而调用程序 function() 函数。
<input name="bt_submit" type="button" value="提交"><script>var b_save=document.getElementByld("bt_submit");b_save.onclick=function(){alert("点击了提交按钮");}</script>
document.getElementById()方法是JavaScript中的一个DOM方法,用于根据元素的id属性获取元素对象。它接受一个参数,即元素的id属性值,然后返回具有该id的元素对象。通过这个方法,我们可以通过元素的id来访问和操作DOM树中的元素。
运行结果:

在上面的代码中,一定要将 <input> 标记代码放在 JavaScript 代码的上方,否则将会报出 " 'bt_submit' 为空或不是对象 " 的错误提示。
在 JavaScript 中指定事件处理程序时,事件名称必须是小写,才能正确响应事件。
(2)在 HTML 中调用
在 HTML 中分配事件处理程序,只需要在 HTML 标记中添加相应的事件,并在其中指定要执行的代码或是函数名即可。
实操:
<input name="bt_submit" type="button" value="提交" onclick="alert('数据内容已提交')">
运行结果:

如上图所示,在 HTML 中的事件属性里添加相应的 Script 语句即可通过事件触发程序。
二、常用对象
JavaScript 是一门基于对象的语言,它可以应用自己创建的对象。JavaScript 的常用对象有 Window、String、Date 对象。
1.Window 对象
Window 对象即浏览器窗口对象,该对象是一个全局对象,它表示浏览器窗口或框架,并提供了与浏览器窗口和框架相关的方法和属性。
通过"Window"对象,可以访问和操作窗口大小、位置、URL、文档元素、浏览历史记录等。
Window 对象同 Math 对象一样,不需要使用 new 关键字创建对象实例,而是直接使用"对象名.成员"的格式来访问其属性或方法。
(1)Window 对象的属性
| 属性 | 功能描述 |
| document | 对窗口或框架中含有文档的 Document 对象的只读引用 |
| defaultStatus | 一个可读写的字符,用于指定状态栏中的默认消息 |
| frames | 表示当前窗口中所有 Frame 对象的集合 |
| location | 用于代表窗口或框架的 Location 对象。如果将一个 URL 赋予该属性,则浏览器将加载并显示该 URL 指定的文档 |
| length | 窗口或框架包含的框架个数 |
| history | 对窗口或框架的 History 对象的只读引用 |
| name | 用于存放窗口对象的名称 |
| status | 一个可读写的字符,用于指定状态栏中的当前信息 |
| top | 表示最顶层的浏览器窗口 |
| parent | 表示包含当前窗口的父窗口 |
| opener | 表示打开当前窗口的父窗口 |
| closed | 一个只读的布尔值,表示当前窗口是否关闭。当浏览器窗口关闭时,表示该窗口的 Window 对象并不会消失,不过其 closed 属性被设置成了 true |
| self | 表示当前窗口 |
| screen | 对窗口或框架的 Screen 对象的只读引用,获取屏幕尺寸、颜色深度等信息 |
| navigator | 对窗口或框架的 Navigator 对象的只读引用,通过 Navigator 对象可以获得与浏览器相关的信息 |
(2)Window 对象的方法
| 方法 | 功能描述 |
| alert() | 弹出一个警告对话框 |
| confirm() | 显示一个确认对话框,单击"确认"按钮时返回 true,否则返回 false |
| prompt() | 弹出一个提示对话框,并要求输入一个简单的字符串 |
| blur() | 将键盘焦点从顶层浏览器窗口中移走。在多数浏览器上,这将使窗体移到最后面 |
| close() | 关闭窗口 |
| focus() | 将键盘焦点赋予顶层浏览器窗口。在多数浏览器上,这将使窗体移到最前面 |
| open() | 打开一个新窗口 |
| scrollTo(x,y) | 将滚动页面滚动到(x,y)的坐标指定的位置 |
| scrollBy(offsetx,offsety) | 按照指定的位移量来滚动窗口 |
| setTimeout(timer) | 在经过指定的时间后再执行代码 |
| clearTimeout() | 取消对指定代码的延迟运行 |
| moveTo(x,y) | 将窗口移动到一个绝对位置 |
| moveBy(offsetx,offsety) | 将窗口按照指定位移量移动到某处 |
| resizeTo(x,y) | 设置窗口的大小 |
| resizeBy(offsetx,offsety) | 按照指定的位移量设置窗口的大小(用于扩大或缩小窗口,正值扩大,负值缩小) |
| print() | 相当于浏览器工具栏中的 "打印" 按钮 |
| setInterval() | 周期性执行指定的代码 |
| clearInterval | 停止周期性地执行代码 |
由于 Window 对象使用十分频繁,又是其他对象的父对象,所以在使用 Window 对象的属性和方法时,JavaScript 允许省略 window 对象的名称。
例如:
window.alert("Hellow world");alert("Hellow world");以上两行代码的效果是一样的。注意代码里的 window 开头字母是小写!
在 Window 对象中, open() 方法和 close() 方法在实际网站开发中经常用到。
(1)open() 方法
open() 方法用于打开一个新的浏览器窗口,并在该窗口中添加指定 URL 地址的网页。该方法的语法格式如下:
windowVar=window.open(url,windownname,windowFeatures);
windowVar:当前打开窗口的对象。如果 open() 方法执行成功,则 windowVar的值为 Window 对象,否则该值为空值。
url:目标窗口的 URL。如果 URL 是一个空字符串,则浏览器将打开一个空白窗口,允许使用 write() 方法创建动态 HTML。
windowname:用于指定新窗口的名称,该名称可以作为<a>标记和<form>的 target 属性的值。如果该参数指定了一个已经存在的窗口,那么 open() 方法将不再创建一个新窗口,而只是一个返回该指定窗口的对象。
windowFeatures:对窗口属性进行设置的值,具体可选参数如下表所列:
对窗口属性进行设置的可选参数 参数 功能描述 width 窗口的宽度 height 窗口的高度 top 窗口顶部距离屏幕顶部的像素数 left 窗口左端距离屏幕左端的像素数 scrollbars 是否显示滚动条,值为 yes 或 no (可以通过设定值决定是否显示) resizable 设定窗口大小是否固定,值为 yes 或 no(可以通过设定值决定是否固定) toolbar 浏览器工具栏,包括后退及前进按钮等,值 yes 或 no(可以通过设定值决定是否显示) menubar 菜单栏,一般包括文件、编辑以及其他菜单项,值为 yes 或 no(可以通过设定值决定是否显示) location 地址栏,用于输入 URL 的浏览器文本区,值为 yes 或 no(可以通过设定值决定是否显示) windowFeatures 参数需要开发者根据不同参数来填写对应数据。
实操:在一个Html页面中使用 open() 方法来弹出另一个窗口。
<html><head><title>网站</title></head><body><script>window.open("test.html","test","width=80,height=80,left=80");</script></body>
</html>
运行结果:

以前我们上网点击某处时会莫名其妙地弹出许多页面广告,这个原理和上面的差不多。不过现在先进的浏览器可以拦截弹窗了。
(2)close() 方法
close() 方法用于关闭当前窗口。该方法的语法格式如下:
window.close();
实操:页面中添加 "关闭" 按钮,当用户单击 "关闭" 按钮时,响应关闭页面。
<input name="close" type="button" class="btn_grey" value="关闭" onclick="window.close()">
运行结果:

2.String 对象
String 对象是动态对象,需要创建对象实例后才能引用其属性和方法。在 JavaScript 中可以直接在字符串后面加上点" . "去调用 String 对象的属性和方法。剩下的内容和在 Java 中使用String 基本无差。
(1)属性
String 对象最常用的属性是 length,该属性返回 String 对象的长度。该语法格式如下:
string.length
返回值:一个只读的整数。代表字符串的字符个数,一个汉字一字符。
实例:
"这是一个字符串".length;
运行结果:

(2)方法
String 对象提供了很多用于对字符串进行操作的方法。
| 方法 | 功能描述 |
| anchor(name) | 为字符串对象中的内容两边加上 HTML 的<a name=name></a>标记对 |
| big() | 为字符串对象中的内容两边加上 HTML 的<big></big>标记对 |
| bold() | 为字符串对象中的内容两边加上 HTML 的<b></b>标记对 |
| charAt(index) | 返回字符串对象中指定索引号的字符组成的字符串,内容为位置的有效值为 0 到字符串长度减 1 的连接起的数值。若指定索引位置超出了有效范围,返回一个空字符串 |
| charCodeAt(index) | 返回一个整数,该整数表示字符串对象中指定位置处的字符的 Unicode 编码 |
| concat(sl,...,sn) | 调用方法的字符串与指定字符串结合,结果返回新字符串 |
| fontcolor | 为字符串对象中的内容两边加上 HTML 的<font></font>标记对,并设置 color 属性,可以是颜色的十六进制值,也可以是颜色的预定义名 |
| fontsize(size) | 为字符串对象中的内容两边加上 HTML 的<font></font>标记对,并设置 size 属性 |
| indexOf(pattern) | 查询全字符串中第一次出现的 patten 字符,查到后返回该参数的位置值(int值)。如果该字符中不包含要查找的字符,则返回 -1 |
| indexOf(patten,startIndex) | 查询全字符串中第一次出现的 patten 字符,查到后返回该参数的位置值(int值)。如果该字符中不包含要查找的字符,则返回 -1。不过检索位置从 startIndex 指定的位置开始查找 |
| lastIndexOf(patten) | 从最后一个字母开始查询,第一次查询到的 patten 字符,查到后返回该参数的位置值(int值)。如果该字符中不包含要查找的字符,则返回 -1 |
| lastIndexOf(patten,startIndex) | 从最后一个字母开始查询,第一次查询到的 patten 字符,查到后返回该参数的位置值(int值)。如果该字符中不包含要查找的字符,则返回 -1。不过检索位置从 startIndex 指定的位置开始倒查 |
| localeCompare(s) | 用特定比较方法比较字符串与 s 字符串。如果字符串相等,则返回 0,否则返回一个非 0 数字值 |
下面是 String 的一些方法的使用:
(1)indexOf() 方法
indexOf() 方法用于返回 String 对象内第一次出现字符串的地方。
语法:
string.indexOf(subString,startIndex);
subString:要在 String 对象中查找的子字符串。
startIndex:该整数值指出在 String 对象内开始查找的起点。
String 对象的索引值是从 0 开始算起的。
实操:查询字符串 "Hellow world!" 字符串中起点为 5 的遇见的第一个字母w的位置
<script>var string = 'Hellw world!'var result = string.indexOf("w",5);alert("索引位位5开始索引第一个字母w所在的位置是;"+result);
</script>
运行结果:

(2)substr() 方法
substr() 方法用于返回指定字符串的一个子串。语法格式如下:
string.substr(start,length)
start:用于指定获取子字符串的起始下标,如果是一个负数,那么从字符串的尾部开始算起位置。-1 指字符串最后一个字符,-2 指字符串倒数第二个字符,等等。
length:用于指定获取子字符串中字符的个数。若忽略该参数,则从 start 开始位置截取到字符串结尾。
实操:在字符串 "你若安好,便是晴天" 字符串中截取拼接出 "晴天安好" 字符串。
<script>var string = '你若安好,便是晴天'var result1 = string.substr("2",2);var result2 = string.substr("7");alert("原话:"+string+"\n截取内容:"+result2+result1);
</script>
运行结果:

(3)subtring() 方法
substring() 方法用于返回指定字符串的一个字串。语法格式如下:
string.substring(from,to)
from:用于指定要获取子字符串的第一个字符在 string 中的位置。
to:用于指定要获取子字符串的最后一个字符在 string 中的位置。
注:to值不会截取到,截取到的最后一位值是 to值-1
实操:截取字符串"天上飘来几个字,那都不是事"字符串的 "不是"
<script>var string = '天上飘来几个字,那都不是事'var result1 = string.substring(10,12);alert("原话:"+string+"\n截取内容:"+result1);
</script>
运行结果:

(4)replace() 方法
replace() 方法用于替换一个与正则表达式匹配的字串。语法格式如下:
string.replace(regExp,substring);
regExp:一个正则表达式。如果正则表达式中设置了表示 g,那么该方法将用替代字符串替代检测到的所有与模式匹配的子串,否则只替换所检测到的第一个与模式匹配的子串。
subString:用于指定替换文本或生成替换文本的函数。如果 subString 是一个字符串,那么每个匹配都将由该字符串替换。
substring 中的 ”$“ 字符的意义 字符 替换文本 $1,$2,...,$99 与 regExp 中的第1~99个子表达式匹配的文本 $& 与 regExp 相匹配的子串 $` 位于匹配字串左侧的文本 $' 位于匹配子串右侧的文本 $$ 直接量 $ 符号
实操:去掉字符串中的首尾空格。
<script>function trim(){var str=form1.oldString.value;if(str==""){alert("请输入原字符串");form1.oldString.focus();return;}else{var objExp=/(^\s*)|(\s*$)/g;str=str.replace(objExp,""); }form1.newString.value=str;}
</script>
使用正则表达式,将有字符串首尾有空格的删去。
运行结果:

(5)split() 方法
split() 方法用于将字符串分割成字符串数组。语法格式如下:
string.split(delimiter,limit);
delimiter:字符串或正则表达式,用于指定分隔符。
limit:用于指定返回数组的最大长度。如果设置了该参数,返回的子字符串长度不会比这个值大。
返回值:一个字符串数组。
在使用 split() 方法分割数组时,返回的数组不包括 delimiter 自身。
3.Date 对象
JavaScript 的 Date 对象可以对日期和时间进行操作。比如做一个页面上的实时钟表等例子。
1.创建 Date 对象
Date 对象是一个关于日期和时间的对象。它具有动态性,必须使用 new 关键字实例化Date对象。语法格式如下:
dateObj = new Date()
dateObj = new Date(dateValue)
dateObj = new Date(year,month,date,hours,minutes,seconds,ms)
ms:表示毫秒。
month:表示月份。从零开始计数,month = 实际月份+1
2.Date 对象的方法
Date 对象没有直接访问的属性,只具有获取、设置日期和时间的方法。
| 方法 | 功能描述 |
| getFullYear() | 返回 Date 对象中的年份,4位数表示,采用本地时间或世界时 |
| getMonth() | 返回 Date 对象中的月份(0~11),采用本地时间或世界时 |
| getDate() | 返回 Date 对象中的日期(1~31),采用本地时间或世界时 |
| getDay() | 返回 Date 对象中的星期(0~6),采用本地时间或世界时 |
| getHours() | 返回 Date 对象中的小时(0~23),采用本地时间或世界时 |
实操:在页面中创建一个实时的时钟。
<script>window.onload=function(){window.setInterval(function() { realSysTime(document.getElementById("clock")); }, 1000);}function realSysTime(clock){var now=new Date();var year=now.getFullYear();var month=now.getMonth();var date=now.getDate();var day=now.getDay();var hour=now.getHours();var minu=now.getMinutes();var sec=now.getSeconds();month=month+1;var arr_week=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");var week=arr_week[day];var time=year+"年"+month+"月"+date+"日"+week+" "+hour+":"+minu+":"+sec;clock.innerHTML="当前时间:"+time;}
</script>
运行结果:

总结
以上就是 JavaScript 的事件处理程序和常用对象的介绍,需要简单回顾这方面知识的同学可以迅速来过一遍基础。有补充或指正的内容欢迎在评论区中留言。
相关文章:
JavaScript事件处理和常用对象
文章目录 前言一、事件处理程序 1.JavaScript 常用事件2.事件处理程序的调用二、常用对象 1.Window 对象2.String 对象3.Date 对象总结 前言 JavaScript 语言是事件驱动型的。这意味着,该门语言可以通过事件触发来调用某一函数或者一段代码。该文还简单介绍了Window…...
Qt基础类05-尺寸类QSize
Qt基础类05-尺寸类QSize 摘要基本信息写在前面重要成员函数举例7个QSize QSize::boundedTo(const QSize &otherSize) constQSize QSize::expandedTo(const QSize &otherSize) constbool QSize::isEmpty() constbool QSize::isNull() constbool QSize::isValid() constQ…...
Vue 2中的this指向详解
在JavaScript中,this的指向是许多开发者经常遇到的问题,尤其是在使用Vue这样的框架时。在Vue 2中,理解this的指向对于正确地访问组件的数据和方法至关重要。 1. this在Vue组件中的指向 在Vue组件的选项中,this通常指向当前组件实…...
长业务事务的离线并发问题
事务指代一组操作同时成功或同时失败,事务可分为两类: 系统事务:即关系数据库事务,一次数据库连接中由start transaction或begin开启,commit表示提交,rollback表示回滚;业务事务:完…...
黑马程序员Java笔记整理(day01)
1.windowsR进入运行,输入cmd 2.环境变量 3.编写java第一步 4.使用idea 5.注释 6.字面量 7.变量 8.二进制 9.数据类型 10.关键词与标识符...
VMware Tools系列一:安装VMware Tools的作用
最近笔者安装了VMware Workstation pro 17,同时在VMware中安装了华为的Open Euler服务器,由于虚拟机Open Euler经常需要与宿主机win10交换数据,很不方便,而安装VMware Workstation pro 17并没有自动安装了VMware Tools ࿰…...
使用大语言模型(LLM)修正小段乱码(Mojibake)为正常文本
Python方案 在上一篇文章ftfy:修正小段乱码(Mojibake)为正常文本的Python库中,我介绍了ftfy这个库。但随着持续的开发,我发现它仍然有一些解决不了的转换。如下: >>> ftfy.fix_text(‡›‘…...
C++ 访问限定符
个人主页:Jason_from_China-CSDN博客 所属栏目:C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目:C知识点的补充_Jason_from_China的博客-CSDN博客 概念概述 C一种实现封装的方式,用类将对象的属性与方法结合在一块…...
几种mfc140u.dll常见错误情况,以及mfc140u.dll文件修复的方法
如果你遇到与mfc140u.dll 文件相关的错误,这通常指的是该mfc140u.dll文件可能丢失、损坏或与您的应用程序不兼容。详细分析关于mfc140u.dll文件错误会对系统有什么影响,mfc140u.dll文件处于什么样的位置?以下是几种常见的错误情况及其修复方法…...
[产品管理-21]:NPDP新产品开发 - 19 - 产品设计与开发工具 - 详细设计与规格定义
目录 前言: 一、详细设计与规格定义概述 1、产品详细设计 2、规格定义 3、详细设计与规格定义的关系 4、实际应用中的注意事项 二、详细设计与规格定义主要工具 2.1 质量功能展开QFD - 需求跟踪矩阵 1、QFD的基本原理 2、QFD的实施步骤 3、QFD的优势与应…...
powershell@文件大小排序@文件夹磁盘占用分析
文章目录 abstractpowershell对于列出子目录大小的支持状况按文件大小排序指定目录下所有文件 扩展的专用函数介绍统计目录或文件的大小👺对指定目录以友好的格式列出所有文件和子目录的大小函数灵活性说明👺 综合用例其他相关软件易用系列 abstract 在…...
详解c++多态---上
virtual关键字 1.可以修饰原函数,为了完成虚函数的重写,满足多态的条件之一。 class Person { public:virtual void BuyTicket() { cout << "买票-全价" << endl; } };class Student : public Person { public:virtual void Buy…...
emWin5的图片半透明之旅
文章目录 目标过程直接使用png (失败了)通过 BmpCvt.exe 转换一下(成功了)通过bmp转 (半成功吧) 补充工程结构整理 目标 显示半透明效果,类似png那种,能透过去,看到背景。 过程 直接使用png …...
【RabbitMQ 项目】项目概述
项目概述 一.角色划分二.服务器模块概述1.本地模块2.网络模块3.服务器模块 三.模块详细划分1.服务端2.客户端 一.角色划分 该项目的模型是一个跨主机的生产消费模型,有三种角色:生产者,消费者,中间人。对应就要实现三个大模块&…...
【VSCode】VSCode Background 背景插件辅助窗口程序
前排贴上Github项目链接 GitHub窗口项目链接 这是一个基于VSCode上由shalldie上传的background扩展制作的windows窗口程序。 该程序旨在通过窗口程序尽可能的完善该扩展原有的功能。 background - shalldie 的最大优势是我目前仅在其扩展上发现了UseFront的选项,这…...
gdb 前端:kdbg 安装使用
文章目录 1. 前言2. kdbg 安装使用2.1 安装 kdbg2.2 使用 kdbg 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. kdbg 安装使用 2.1 安装 kdbg kdbg 是 gdb 的图形化界面的前端,在 …...
UDP_SOCKET编程实现
文章目录 socket编程接口认识struct sockaddr类 编写一个server服务Client代码查看启动结果代码修正1.获取内核分配给客户端的信息2.修正不匹配ip不能访问的问题 不同机器之间的通信利用xftp将udp_client传给wsl的ubuntu机器进行演示现在模拟在windows下的udp_client代码: 对方…...
【网络】高级IO——阻塞IO和非阻塞IO的实现
目录 一.文件描述符的默认行为——阻塞IO 二.非阻塞IO 2.1.在打开文件或创建套接字时设置非阻塞模式: 2.2.在使用网络I/O接口时请求非阻塞行为: 2.3.fcntl函数 一.文件描述符的默认行为——阻塞IO 在Linux系统中,无论是通过open系统调用…...
ASPICE培训:打造卓越的汽车软件开发能力
随着汽车行业的快速发展和智能化技术的不断演进,汽车软件开发已成为汽车制造过程中不可或缺的一部分。为了确保汽车软件的质量、可靠性和安全性,ASPICE(Automotive SPICE)作为一种国际公认的汽车软件开发过程评估标准,…...
基于Python的人工智能应用案例系列(2):分类
在本篇文章中,我们将探讨分类问题,具体的应用场景是贷款审批预测。通过该案例,我们将学习如何使用Python处理分类问题,训练模型并预测贷款是否会被批准。 案例背景 该数据集包含贷款申请的相关信息,目标是预测贷款是否…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
