当前位置: 首页 > news >正文

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 语言有很多的常用事件。

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 对象的属性

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 对象的方法

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 对象提供了很多用于对字符串进行操作的方法。

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 对象没有直接访问的属性,只具有获取、设置日期和时间的方法。

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 语言是事件驱动型的。这意味着&#xff0c;该门语言可以通过事件触发来调用某一函数或者一段代码。该文还简单介绍了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中&#xff0c;this的指向是许多开发者经常遇到的问题&#xff0c;尤其是在使用Vue这样的框架时。在Vue 2中&#xff0c;理解this的指向对于正确地访问组件的数据和方法至关重要。 1. this在Vue组件中的指向 在Vue组件的选项中&#xff0c;this通常指向当前组件实…...

长业务事务的离线并发问题

事务指代一组操作同时成功或同时失败&#xff0c;事务可分为两类&#xff1a; 系统事务&#xff1a;即关系数据库事务&#xff0c;一次数据库连接中由start transaction或begin开启&#xff0c;commit表示提交&#xff0c;rollback表示回滚&#xff1b;业务事务&#xff1a;完…...

黑马程序员Java笔记整理(day01)

1.windowsR进入运行&#xff0c;输入cmd 2.环境变量 3.编写java第一步 4.使用idea 5.注释 6.字面量 7.变量 8.二进制 9.数据类型 10.关键词与标识符...

VMware Tools系列一:安装VMware Tools的作用

最近笔者安装了VMware Workstation pro 17&#xff0c;同时在VMware中安装了华为的Open Euler服务器&#xff0c;由于虚拟机Open Euler经常需要与宿主机win10交换数据&#xff0c;很不方便&#xff0c;而安装VMware Workstation pro 17并没有自动安装了VMware Tools &#xff0…...

使用大语言模型(LLM)修正小段乱码(Mojibake)为正常文本

Python方案 在上一篇文章ftfy&#xff1a;修正小段乱码&#xff08;Mojibake&#xff09;为正常文本的Python库中&#xff0c;我介绍了ftfy这个库。但随着持续的开发&#xff0c;我发现它仍然有一些解决不了的转换。如下&#xff1a; >>> ftfy.fix_text(‡›‘…...

C++ 访问限定符

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;C知识点的补充_Jason_from_China的博客-CSDN博客 概念概述 C一种实现封装的方式&#xff0c;用类将对象的属性与方法结合在一块&#xf…...

几种mfc140u.dll常见错误情况,以及mfc140u.dll文件修复的方法

如果你遇到与mfc140u.dll 文件相关的错误&#xff0c;这通常指的是该mfc140u.dll文件可能丢失、损坏或与您的应用程序不兼容。详细分析关于mfc140u.dll文件错误会对系统有什么影响&#xff0c;mfc140u.dll文件处于什么样的位置&#xff1f;以下是几种常见的错误情况及其修复方法…...

[产品管理-21]:NPDP新产品开发 - 19 - 产品设计与开发工具 - 详细设计与规格定义

目录 前言&#xff1a; 一、详细设计与规格定义概述 1、产品详细设计 2、规格定义 3、详细设计与规格定义的关系 4、实际应用中的注意事项 二、详细设计与规格定义主要工具 2.1 质量功能展开QFD - 需求跟踪矩阵 1、QFD的基本原理 2、QFD的实施步骤 3、QFD的优势与应…...

powershell@文件大小排序@文件夹磁盘占用分析

文章目录 abstractpowershell对于列出子目录大小的支持状况按文件大小排序指定目录下所有文件 扩展的专用函数介绍统计目录或文件的大小&#x1f47a;对指定目录以友好的格式列出所有文件和子目录的大小函数灵活性说明&#x1f47a; 综合用例其他相关软件易用系列 abstract 在…...

详解c++多态---上

virtual关键字 1.可以修饰原函数&#xff0c;为了完成虚函数的重写&#xff0c;满足多态的条件之一。 class Person { public:virtual void BuyTicket() { cout << "买票-全价" << endl; } };class Student : public Person { public:virtual void Buy…...

emWin5的图片半透明之旅

文章目录 目标过程直接使用png (失败了)通过 BmpCvt.exe 转换一下&#xff08;成功了&#xff09;通过bmp转 &#xff08;半成功吧&#xff09; 补充工程结构整理 目标 显示半透明效果&#xff0c;类似png那种&#xff0c;能透过去&#xff0c;看到背景。 过程 直接使用png …...

【RabbitMQ 项目】项目概述

项目概述 一.角色划分二.服务器模块概述1.本地模块2.网络模块3.服务器模块 三.模块详细划分1.服务端2.客户端 一.角色划分 该项目的模型是一个跨主机的生产消费模型&#xff0c;有三种角色&#xff1a;生产者&#xff0c;消费者&#xff0c;中间人。对应就要实现三个大模块&…...

【VSCode】VSCode Background 背景插件辅助窗口程序

前排贴上Github项目链接 GitHub窗口项目链接 这是一个基于VSCode上由shalldie上传的background扩展制作的windows窗口程序。 该程序旨在通过窗口程序尽可能的完善该扩展原有的功能。 background - shalldie 的最大优势是我目前仅在其扩展上发现了UseFront的选项&#xff0c;这…...

gdb 前端:kdbg 安装使用

文章目录 1. 前言2. kdbg 安装使用2.1 安装 kdbg2.2 使用 kdbg 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. kdbg 安装使用 2.1 安装 kdbg kdbg 是 gdb 的图形化界面的前端&#xff0c;在 …...

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.在打开文件或创建套接字时设置非阻塞模式&#xff1a; 2.2.在使用网络I/O接口时请求非阻塞行为&#xff1a; 2.3.fcntl函数 一.文件描述符的默认行为——阻塞IO 在Linux系统中&#xff0c;无论是通过open系统调用…...

ASPICE培训:打造卓越的汽车软件开发能力

随着汽车行业的快速发展和智能化技术的不断演进&#xff0c;汽车软件开发已成为汽车制造过程中不可或缺的一部分。为了确保汽车软件的质量、可靠性和安全性&#xff0c;ASPICE&#xff08;Automotive SPICE&#xff09;作为一种国际公认的汽车软件开发过程评估标准&#xff0c;…...

基于Python的人工智能应用案例系列(2):分类

在本篇文章中&#xff0c;我们将探讨分类问题&#xff0c;具体的应用场景是贷款审批预测。通过该案例&#xff0c;我们将学习如何使用Python处理分类问题&#xff0c;训练模型并预测贷款是否会被批准。 案例背景 该数据集包含贷款申请的相关信息&#xff0c;目标是预测贷款是否…...

演示:基于WPF自绘的中国省份、城市、区县矢量地图

一、目的&#xff1a;演示一个基于WPF自绘的中国省份、城市、区县矢量地图 二、效果 国 省 市 三、功能 支持实际经纬度显示 支持平移&#xff0c;缩放等功能 显示中国地图 显示各个省份地图 显示各个省份地图&#xff08;包含在表格中&#xff0c;包含缩率图&#xff09; 显…...

同时拥有独显和核显,怎么让应用程序选择使用哪个GPU?

看你现在使用的是核显还是独显 勾选上GPU引擎选项&#xff0c;后面便会标识你所使用的是哪种显卡&#xff0c;如果是独立显卡&#xff0c;就可以免去后续的操作&#xff1b;如果不是&#xff0c;那么请继续接下来的操作。 将你需要使用独显的程序换成gpu1&#xff08;独显&am…...

C++八股文之面向对象篇

&#x1f916;个人主页&#xff1a;晚风相伴-CSDN博客 思维导图链接&#xff1a;面向对象的性质 持续更新中…… &#x1f496;如果觉得内容对你有帮助的话&#xff0c;还请给博主一键三连&#xff08;点赞&#x1f49c;、收藏&#x1f9e1;、关注&#x1f49a;&#xff09;吧 …...

点云深度学习系列:Sam2Point——基于提示的点云分割

文章&#xff1a;SAM2POINT:Segment Any 3D as Videos in Zero-shot and Promptable Manners 代码&#xff1a;https://github.com/ZiyuGuo99/SAM2Point Demo&#xff1a;https://huggingface.co/spaces/ZiyuG/SAM2Point 1&#xff09;摘要 文章介绍了SAM2POINT&#xff0c;这是…...

mysql学习教程,从入门到精通,TOP 和MySQL LIMIT 子句(15)

1、TOP 和MySQL LIMIT 子句内容 在SQL中&#xff0c;不同的数据库系统对于限制查询结果的数量有不同的实现方式。TOP 关键字主要用于 SQL Server 和 Access 数据库中&#xff0c;而 LIMIT 子句则主要用于 MySQL、PostgreSQL&#xff08;通过 LIMIT/OFFSET 语法&#xff09;、S…...

备战软考Day02-数据结构与算法

1.基本概念与三要素 1.什么是数据 数据是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 2.数据元素、数据项 数据元素是数据的基本单位&#xff0c;通常作为一个整体进行…...

COMP 6714-Info Retrieval and Web Search笔记week1

哭了哭了&#xff0c;这周唯一能听懂的就这门 目录 IR&#xff08;Information Retrieval)是什么&#xff1f;IR的基本假设Unstructured (text) vs. structuredDocuments vs. Database Records比较文本&#xff08;Comparing Text&#xff09;IR的范围(Dimensions of IR)IR的任…...

C++在Linux实现多线程和多进程的TCP服务器和客户端通信

多进程版本 服务器 #include <arpa/inet.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/wait.h> #include <signal.h> #include <string&…...

音视频开发常见的开源项目汇总

FFmpeg 地址&#xff1a;https://ffmpeg.org/介绍&#xff1a;FFmpeg 是一个非常强大的开源多媒体框架&#xff0c;它可以用来处理视频和音频文件。它支持多种格式的转换、编码、解码、转码、流处理等。FFmpeg 包括了 libavformat、libavcodec、libavutil、libswscale、libpos…...

Java操控Redis (面经之 使用Redis)

操控Redis的工具 ReactiveRedisTemplate 和 RedisTemplate : RedisTemplate&#xff1a; 它是一个通用的模板类&#xff0c;可以使用任何序列化策略来序列化和反序列化键和值。默认情况下&#xff0c;它使用 JdkSerializationRedisSerializer 序列化值&#xff0c;并使用 Strin…...