JS(JavaScript)入门指南(DOM、事件处理、BOM、数据校验)


天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


玉阶生白露,夜久侵罗袜。
却下水晶帘,玲珑望秋月。
——《玉阶怨》


文章目录

  • 一、DOM操作
    • 1. DOM介绍
    • 2. 查询操作
      • 2.1 查询方法
      • 2.2 查询示例
        • 2.2.1 根据id获取dom
          • 2.2.1.1 示例
          • 2.2.1.2 结果
        • 2.2.2 根据tag获取dom
          • 2.2.2.1 示例
          • 2.2.2.2 结果
        • 2.2.3 根据css样式获取dom
          • 2.2.3.1 示例
          • 2.2.3.2 结果
        • 2.2.4 根据已有节点获取其他节点dom
          • 2.2.4.1 示例
          • 2.2.4.2 结果
      • 2.3 查询示例代码汇总
    • 3. 访问和修改操作
      • 3.1 访问和修改属性
        • 3.1.1 语法
        • 3.1.2 示例代码
        • 3.1.3 浏览器输出
      • 3.2 访问和修改内容
        • 3.2.1 语法
        • 3.1.2 示例代码
        • 3.1.3 浏览器输出
      • 3.3 访问和修改css
        • 3.3.1 语法
        • 3.3.2 示例代码
        • 3.3.3 浏览器输出
    • 4. 添加替换操作
      • 4.1 示例代码
      • 4.2 效果展示
        • 4.2.1 添加
        • 4.2.2 指定位置添加
        • 4.2.3 替换
    • 5. 删除操作
      • 5.1 示例代码
      • 5.2 效果演示
        • 5.2.1 remove方法删除
        • 5.2.2 removeChild方法删除
    • 6. 趣味案例
      • 6.1 效果图
      • 6.2 搜索引擎的参数获取
        • 6.2.1 百度的参数获取
        • 6.2.2 搜狗的参数获取
        • 6.2.3 360的参数获取
      • 6.3 示例代码
      • 6.4 效果演示
  • 二、事件处理
    • 1. 事件简介
      • 1.1 事件的定义
      • 1.2 事件源
      • 1.3 事件对象
      • 1.4 事件监听
    • 2. 事件的绑定
      • 2.1 静态绑定
      • 2.2 动态绑定
      • 2.3 注意事项
    • 3. 常用事件
      • 3.1 鼠标事件
        • 3.1.1 事件列举
        • 3.1.2 示例代码
        • 3.1.2 页面展示
      • 3.2 键盘事件
        • 3.2.1 事件列举
        • 3.2.2 示例代码
        • 3.2.3 页面效果
      • 3.3 表单事件
        • 3.3.1 事件列举
        • 3.3.2 示例代码
        • 3.3.3 页面效果
    • 4. 事件操作
      • 4.1 事件冒泡
        • 4.1.1 定义
        • 4.1.2 特点
        • 4.1.3 语法
        • 4.1.4 示例代码
        • 4.1.5 页面效果
      • 4.2 事件默认行为
        • 4.2.1 定义
        • 4.2.2 语法
        • 4.2.3 示例代码
        • 4.2.4 页面效果
    • 5. 下拉列表
      • 5.1 Select
        • 5.1.1 属性
        • 5.1.2 方法
        • 5.1.3 事件
      • 5.2 Option
        • 5.2.1 属性
        • 5.2.2 构造函数
    • 6. 事件处理趣味实例
      • 6.1 创建表格
        • 6.1.1 示例代码
        • 6.1.2 页面效果
      • 6.2 创建表单
        • 6.2.1 示例代码
        • 6.2.2 页面效果
      • 6.3 添加样式
        • 6.3.1 示例代码
        • 6.3.2 页面效果
      • 6.4 表格中的事件绑定
        • 6.4.1 示例代码
        • 6.4.2 页面效果
      • 6.5 表单中的事件绑定
        • 6.5.1 示例代码
        • 6.5.2 页面效果
      • 6.6 复选框功能实现
        • 6.6.1 示例代码
        • 6.6.2 页面效果
      • 6.7 示例代码下载
  • 三、BOM操作
  • 四、数据校验
  • 五、示例代码下载


JS(JavaScript)入门指南
JS(JavaScript)学习专栏


一、DOM操作

1. DOM介绍

DOM全称为dom document object model 文档对象模型

  • dom树
    浏览器加载html页面时,会将html文档解析为一个树形结构,称为dom树

html文档和dom树是一一对应的
dom树被改变时,与之对应的html文档也会随之改变
当需要对html中的内容进行动态改变时,可以使用dom进行操作
dom提供了一组用来操作html文档的api,即提供一套属性、方法和事件
树上的每一个节点都是一个dom对象,树的顶层为document对象,表示整个文档

2. 查询操作

查询就是获取dom对象

2.1 查询方法

查询的方法和含义如下表

方法或属性含义
document.getElementById(“id”)根据id属性来查询节点,返回匹配的第一个节点
document.getElementsByName(“name”)根据name属性查询,并返回所有匹配的节点集合
document.getElementsByTagName(“tagName”)根据标签名来查询,返回所有匹配的节点集合
documnet.querySelector(“selector”)根据css选择器来查询,返回匹配的第一个节点
document.querySelectorAll(“selector”)根据css选择器来查询,返回所有匹配的节点集合
parentNode属性查询当前节点的父节点
previous Sibing属性查询当前节点的上一个节点
nextSibing属性查询当前节点的下一个节点
firstChild属性查询当前节点的第一个子节点
lastChild属性查询当前节点的最后一个子节点

2.2 查询示例

示例代码共分为以下几种:根据id获取dom对象、根据标签tag获取dom对象、根据css样式获取dom对象、根据已有节点获取其他节点dom对象

2.2.1 根据id获取dom

根据id获取dom对象方法:document.getElementById(“id”)

2.2.1.1 示例

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-查询</title><script>function query(){console.log(12345);console.log("根据id获取dom对象");//根据id获取dom对象,返回单个值var objDiv = document.getElementById("d1");//获取对象的类型console.log(typeof objDiv);//打印对象console.log(objDiv);}</script>
</head>
<body><input type="button" value="获取页面中的元素" onclick="query()"><div id="d1" class="c">hello!</div></body>
</html>
2.2.1.2 结果

使用浏览器打开代码,点击获取页面中的元素
在这里插入图片描述

浏览器控制台输出如下
在这里插入图片描述

2.2.2 根据tag获取dom

根据标签tag获取dom对象,示例如下

2.2.2.1 示例

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-查询</title><script>function query(){console.log(12345);console.log("根据name获取dom对象");//根据name获取dom对象,返回数组var objDivs = document.getElementsByName("hobby");//获取对象的类型console.log(typeof objDivs);//打印对象console.log(objDivs);//遍历数组对象for(var index in objDivs){console.log(objDivs[index])}}</script>
</head>
<body><input type="button" value="获取页面中的元素" onclick="query()">hobbies:<input type="checkbox" value="eat" name="hobby">吃饭<input type="checkbox" value="sleep" name="hobby">睡觉<input type="checkbox" value="kingplay" name="hobby">打王者name:       <input type="text" name="username"></body>
</html>
2.2.2.2 结果

使用浏览器打开代码,点击获取页面中的元素
在这里插入图片描述
浏览器控制台输出如下
在这里插入图片描述

2.2.3 根据css样式获取dom

通过css样式style获取dom对象

2.2.3.1 示例

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-查询</title><script>function query(){console.log(12345);console.log("根据css选择器获取单个dom对象");//根据css选择器获取单个dom对象var objCss = document.querySelector("#d1");console.log(objCss);//根据css选择器,使用标签获取对象,只会取第一个input标签的对象var objCss2 = document.querySelector("input");console.log(objCss2);//根据css选择器,使用class获取对象,只会取第一个div标签的class为c的对象var objCss3 = document.querySelector(".c");console.log(objCss3);//根据css选择器,使用标签和class获取对象,只会取第一个p标签的class为c的对象var objCss4 = document.querySelector("p.c");console.log(objCss4);//根据css选择器获取多个dom对象//根据css选择器,使用标签和class获取对象,只会取第一个p标签的class为c的对象var objCss5 = document.querySelectorAll(".c");console.log(objCss5);}</script>
</head>
<body><input type="button" value="获取页面中的元素" onclick="query()"><div id="d1" class="c">hello!</div><div id="d2" class="c">world!</div><p class="c">test</p></body>
</html>
2.2.3.2 结果

使用浏览器打开代码,点击获取页面中的元素
在这里插入图片描述

浏览器控制台输出如下
在这里插入图片描述

2.2.4 根据已有节点获取其他节点dom

根据已有节点获取其他节点的dom对象,示例如下

2.2.4.1 示例

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-查询</title><script>function query(){console.log(12345);//根据已有节点获取其他节点var objId = document.getElementById("id-du");//获取li标签的父类标签的对象console.log(objId.parentNode);//获取指定标签的上一个同级标签console.log(objId.previousSibling);//获取指定标签的下一个同级标签console.log(objId.nextSibling);//注意:获取上一个和下一个同级标签时,换行符和空格也算是一个内容称为文本节点,所以前后都是text类型的值//如果有text类型的值,则需要取两次才能取到//获取指定标签的上一个同级标签console.log(objId.previousSibling.previousSibling);//获取指定标签的下一个同级标签console.log(objId.nextSibling.nextSibling);//获取当前节点下子节点的第一个节点,如先从li子节点获取父节点ul,再取ul节点下的第一个子节点,这里获取到的是第一个li节点前的文本内容console.log(objId.parentNode.firstChild);//获取当前节点下子节点的最后一个节点console.log(objId.parentNode.lastChild);}</script>
</head>
<body><input type="button" value="获取页面中的元素" onclick="query()"><ul>a<li id="id-li">李白</li><li id="id-du">杜甫</li><li>王维</li><li>杜牧</li>b</ul></body>
</html>
2.2.4.2 结果

使用浏览器打开代码,点击获取页面中的元素
在这里插入图片描述

浏览器控制台输出如下
在这里插入图片描述

2.3 查询示例代码汇总

以上方法的示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-查询</title><script>function query(){console.log(12345);console.log("根据id获取dom对象");//根据id获取dom对象,返回单个值var objDiv = document.getElementById("d1");//获取对象的类型console.log(typeof objDiv);//打印对象console.log(objDiv);console.log("根据name获取dom对象");//根据name获取dom对象,返回数组var objDivs = document.getElementsByName("hobby");//获取对象的类型console.log(typeof objDivs);//打印对象console.log(objDivs);//遍历数组对象for(var index in objDivs){console.log(objDivs[index])}console.log("根据tag获取dom对象");//根据tag标签名获取dom对象var objIput = document.getElementsByTagName("input");for(var index in objIput){console.log(objIput[index]);}console.log("根据css选择器获取单个dom对象");//根据css选择器获取单个dom对象var objCss = document.querySelector("#d1");console.log(objCss);//根据css选择器,使用标签获取对象,只会取第一个input标签的对象var objCss2 = document.querySelector("input");console.log(objCss2);//根据css选择器,使用class获取对象,只会取第一个div标签的class为c的对象var objCss3 = document.querySelector(".c");console.log(objCss3);//根据css选择器,使用标签和class获取对象,只会取第一个p标签的class为c的对象var objCss4 = document.querySelector("p.c");console.log(objCss4);//根据css选择器获取多个dom对象//根据css选择器,使用标签和class获取对象,只会取第一个p标签的class为c的对象var objCss5 = document.querySelectorAll(".c");console.log(objCss5);//根据已有节点获取其他节点var objId = document.getElementById("id-du");//获取li标签的父类标签的对象console.log(objId.parentNode);//获取指定标签的上一个同级标签console.log(objId.previousSibling);//获取指定标签的下一个同级标签console.log(objId.nextSibling);//注意:获取上一个和下一个同级标签时,换行符和空格也算是一个内容称为文本节点,所以前后都是text类型的值//如果有text类型的值,则需要取两次才能取到//获取指定标签的上一个同级标签console.log(objId.previousSibling.previousSibling);//获取指定标签的下一个同级标签console.log(objId.nextSibling.nextSibling);//获取当前节点下子节点的第一个节点,如先从li子节点获取父节点ul,再取ul节点下的第一个子节点,这里获取到的是第一个li节点前的文本内容console.log(objId.parentNode.firstChild);//获取当前节点下子节点的最后一个节点console.log(objId.parentNode.lastChild);}</script>
</head>
<body><input type="button" value="获取页面中的元素" onclick="query()"><div id="d1" class="c">hello!</div><div id="d2" class="c">world!</div><p class="c">test</p>hobbies:<input type="checkbox" value="eat" name="hobby">吃饭<input type="checkbox" value="sleep" name="hobby">睡觉<input type="checkbox" value="kingplay" name="hobby">打王者name:       <input type="text" name="username"><ul>a<li id="id-li">李白</li><li id="id-du">杜甫</li><li>王维</li><li>杜牧</li>b</ul></body>
</html>

使用浏览器打开,点击获取页面中的元素
在这里插入图片描述

控制台输出如下
在这里插入图片描述

3. 访问和修改操作

访问和修改操作包括:访问和修改属性、访问和修改内容、访问和修改样式

3.1 访问和修改属性

即获取或者设置dom对象的属性
dom对象的属性和html标签的属性几乎是一样的,一般情况下dom对象都会存在一个与对应html标签同名的属性

3.1.1 语法

访问用法如下

dom对象.属性

修改用法如下

dom对象.属性=值
3.1.2 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-访问和修改</title><script>// 1 访问属性function getProperty(){let obj = document.getElementById("baidu");//获取超链接的href属性值console.log(obj.href);//获取超链接的target属性值console.log(obj.target);//获取指定对象的内容let objs = document.getElementById("username");console.log(objs.value);//获取指定对象的是否选中值,这里的checked返回的是false或ture,选中为truelet obj3 = document.getElementById("male");console.log(obj3.checked);//设置属性值//将超链接百度的地址修改为别的,设置后刷新页面,点访问属性然后再点链接即可跳转到新的网址obj.href = "https://blog.csdn.net/mo_sss";//将跳转规则修改为当前页面跳转obj.target = "_self";//修改性别单选值的默认选项,将男性该位默认obj3.checked = "true";}</script></head>
<body><!-- 1 访问属性 --><br><br><br><!-- 定义按钮,绑定事件,点击后触发事件,执行函数 --><input type="button" value="访问属性" onclick="getProperty()"><br><!-- <hr> --><br><a href="https://www.baidu.com" target="_blank" id="baidu">baidu</a><br><br><br>username: <input type="text" name="username" id="username">sex: <input type="radio" name="sex" value="male" id="male"><input type="radio" name="sex" value="female" id="female" checked><br><br><br></body>
</html>
3.1.3 浏览器输出

使用浏览器打开,点以下访问属性,可以看到默认勾选的女已经换成了男
在这里插入图片描述
控制台输出如下,可以看到dom对象的参数输出
在这里插入图片描述

3.2 访问和修改内容

即获取或设置标签中的内容
两种方式:使用innerHTML、使用innerText

3.2.1 语法

访问用法如下,将内容解析为HTML

dom对象.innerHTML

或,将内容作为纯文本

dom对象.innerText

修改值用法如下

dom对象.innerHTML = "内容"

dom对象.innerText = "内容"
3.1.2 示例代码

相关示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-访问和修改</title><script>// 2 访问内容function getContent(){var obj = document.getElementById("d11");//获取指定标签的内容//获取标签内的所有内容,包括标签、空格和换行符等console.log(obj.innerHTML);//只获取标签内的文本内容console.log(obj.innerText);//设置内容//设置标签内的内容,使用innerTEXT只能设置文本内容obj.innerText = "同居长干里,两小无嫌猜。";console.log(obj.innerText);//设置标签内的内容,使用innerHTML可设置标签等特殊内容obj.innerHTML = "<h2>朝如青丝暮成雪</h2>";console.log(obj.innerHTML);}</script></head>
<body><!-- 2 访问内容 --><br><hr><!-- 定义按钮,绑定事件,点击后触发事件,执行函数 --><input type="button" value="访问内容" onclick="getContent()"><br><br><br><div id="d11">高堂明镜悲白发</div></body>
</html>
3.1.3 浏览器输出

使用浏览器打开,
在这里插入图片描述

点一下访问内容,内容修改为
在这里插入图片描述

控制台输出如下
在这里插入图片描述

3.3 访问和修改css

即获取或设置css样式
两种方式:使用style属性、使用className属性

3.3.1 语法

访问css用法如下
使用style属性用法

dom对象.style.样式属性

使用className属性用法

dom对象.className

注意:
如果css属性中又短横线-,需要去掉短横线,然后将其后的单词首字母改成大写
对象标签中的class,需要使用className访问

修改css用法如下
使用style属性用法

dom对象.style.样式属性 = "值"

使用className属性用法

dom对象.className = "值"
3.3.2 示例代码

相关示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DOM操作-访问和修改</title><script>// 3 访问CSSfunction getStyle(){var obj = document.getElementById("d22");//获取CSS样式的宽度console.log(obj.style.width);//获取CSS样式的字体大小,这里需要注意,样式的键带短杠的需要将短杠去掉将短杠后的首字母大写console.log(obj.style.fontSize);//获取CSS样式的字体console.log(obj.style.fontFamily);//获取CSS样式的左上角的半角像素console.log(obj.style.borderTopLeftRadius);//设置CSS样式的值obj.style.background = "lightgreen";// console.log(obj.style.borderTopLeftRadius);//另一种访问CSS的方式,className方式,需要配合CSS样式标签<style>var obj2 = document.getElementById("d33");//获取标签的class值console.log(obj2.className);//设置样式标签中class属性的值,设置后,调用该函数后样式即可被修改,这里需要注意,对象没有标签中的class,需要使用className访问obj2.className = "c11";//获取CSS样式的宽度console.log(obj2.style.width);}</script><style>/* 原始的样式 */.ccc{background: brown;font-size: 30px;}/* 修改后的样式 在函数中调用修改样式 */.c11{width: 150px;height: 20px;background: red;font-size: 10px;}</style>
</head>
<body><!-- 3 访问css --><br><hr><!-- 定义按钮,绑定事件,点击后触发事件,执行函数 --><input type="button" value="访问CSS" onclick="getStyle()"><br><br><br><div id="d22" style="width: 1000px; height: 40px; background: lightblue; font-size: 30px; font-family: 'Courier New', Courier

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/35797.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud Alibaba Sentinel中@SentinelResource使用实践总结

Sentinel 提供了 SentinelResource 注解用于定义资源&#xff0c;并提供了 AspectJ 的扩展用于自动定义资源、处理 BlockException 等。 注意&#xff1a;注解方式埋点不支持 private 方法。 官网地址&#xff1a;注解埋点支持 【1】资源名称限流 ① controller方法 GetMapp…

LabVIEW技术交流-布尔灯仿真数码管

问题来源 闲来无事&#xff0c;逛论坛问答&#xff0c;看到这样一个问题&#xff0c;觉得有意思&#xff0c;就自己尝试下。 这个功能其实是不难的&#xff0c;就是显示不同的数值时&#xff0c;对相应的布尔灯进行真假值操作就行了。但是我又想到了更有趣的玩法&#xff0c;能…

C#学习系列之DataGrid无故添加空行

C#学习系列之DataGrid无故添加空行 前言解决前解决后总结 前言 采用别人的轮子&#xff0c;想在基础上改界面&#xff0c;但是copy后&#xff0c;无论怎么样都会有空行&#xff0c;实在是绑定数据的输入没有任何赋值。 解决前 绑定的数据中输入三组数据&#xff0c;但是没有第…

【Academy】测试WebSockets安全漏洞Testing for WebSockets security vulnerabilities

测试WebSockets安全漏洞Testing for WebSockets security vulnerabilities 概述WebSockets是什么?HTTP和WebSockets有什么区别&#xff1f;如何建立WebSocket连接&#xff1f;WebSocket消息看起来像什么&#xff1f; 操纵WebSocket流量拦截和修改WebSocket消息重放和生成新的W…

链式队列算法库构建

学习贺利坚老师课程,构建链式队列算法库 数据结构之自建算法库——链队&#xff08;链式队列&#xff09;_数据结构函数链队列的算法框架有哪些-CSDN博客文章浏览阅读6.2k次&#xff0c;点赞3次&#xff0c;收藏9次。本文针对数据结构基础系列网络课程(3)&#xff1a;栈和队列…

低碳短视频:成都柏煜文化传媒有限公司

低碳短视频&#xff1a;绿色传播的新风尚 随着全球气候变化和环境问题日益严峻&#xff0c;低碳生活已经成为人们追求的新风尚。在这个背景下&#xff0c;低碳短视频应运而生&#xff0c;以其独特的方式传播绿色理念&#xff0c;推动低碳生活方式的普及。成都柏煜文化传媒有限…

printf趣味代码,打印图案

文章目录 1.打印佛祖2.打印猫猫 (闪烁效果) 1.打印佛祖 #include <stdio.h>void budda_bless(){printf("///\n\ // _ooOoo_ //\n\ // o8888888o //\n\ // …

文件I/O基础-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

文件I/O基础 本章将介绍Linux应用编程中最基础的知识&#xff0c;即文件I/O&#xff08;Input/Output&#xff09;。文件I/O指的是对文件进行读写操作&#xff0c;在Linux系统中一切皆文件&#xff0c;这是Linux系统设计的核心理念&#xff0c;因此文件I/O操作既是基础又是最重…

【软件下载】Folx详细安装教程视频-Folx软件最新版下载

根据大数据调查表明Acceleration PRO下载&#xff1a;抽出多达10个流的故障能够显着提高下载速度。根据行业数据显示与iTunes PRO集成&#xff1a;通过将Folx集成到iTunes来下载歌曲和视频&#xff0c;能够在下载后立即自动添加到iTunes库。实际上我们可以这样讲通过代理下载&a…

udp udpClient 聊天室

简介 1、UDP&#xff08;User Data Protocol&#xff0c;用户数据报协议&#xff09; &#xff08;1&#xff09; UDP是一个非连接的协议&#xff0c;传输数据之前源端和终端不建立连接&#xff0c;当它想传送时就简单地去抓取来自应用程序的数据&#xff0c;并尽可能快地把它…

Vue38 安装脚手架 vue-cli ,并使用脚手架创建项目

安装脚手架 vue-cli &#xff0c;并使用脚手架创建项目 第一步 安装脚手架 npm config set registry https:\\[registry.npmmirror.com // 切换淘宝镜像 npm install -g vue/cli第二步 切换到创建项目的目录&#xff0c;创建项目 cd XXX vue create XXX第三步 启动项目 npm…

化茧成蝶 | 继HuggingFace首家落地大模型具身智能场景

关于具身智能的起源 近年来&#xff0c;大语言模型&#xff08;LLMs&#xff09;的兴起给机器人领域带来了革命性的改变&#xff0c;大模型赋予了传统机器人理解和推理的能力&#xff0c;让具身智能这一概念再度出现在大众的视角中。OpenCSG 作为国内 AI 开源社区的先锋&#…

[AI MoneyPrinterTurbo] 一键成片,超级印钞机

今天&#xff0c;我们将踏上一段关于MoneyPrinterTurbo的探索之旅&#xff0c;这是一个文生视频工具&#xff0c;旨在让视频创作变得轻松而有趣。 故事的开始 想象一下&#xff0c;你只需要提供一个视频主题或关键词&#xff0c;剩下的——视频文案、素材、字幕、背景音乐&am…

openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 二(51-)

环境&#xff1a;OpenCV3.2.0 VS2015 51、Mean-Shift算法分割图像 cv::pyrMeanShiftFiltering() 参考链接&#xff1a;【从零学习OpenCV 4】分割图像——Mean-Shift分割算法 Mean-Shift算法又被称为均值漂移法&#xff0c;是一种基于颜色空间分布(彩色图像的像素值)的图像分割…

pycharm鼠标变成小方块

异常图片&#xff1a; 异常原因&#xff1a;误动了键盘insert键 解决方法&#xff1a;Fninsert

根据配置生成一个合并单元格的table表格的html代码

​分享最近工作中遇到的一个场景&#xff1a;导出表格&#xff0c;需要准备好表格的html代码&#xff0c;此表格支持最上面的表头合并且居中展示表格标题&#xff0c;如果上下行数据有相同的&#xff0c;则要上下合并单元格 封装了一个如下的方法 const configToTable (conf…

国家自然科学基金标书大全(2002-2024)

数据来源&#xff1a;在20世纪80年代初&#xff0c;为了促进中国的科技体制革新并改革科研资金分配机制&#xff0c;中国科学院的89位院士联名向党和国家领导人提出建议&#xff0c;设立了国家自然科学基金的设立。国自然基金自创立以来&#xff0c;根据国家发展科学技术方针、…

dataguard 主备切换方式switchover 和 failover 操作步骤

作者介绍&#xff1a;老苏&#xff0c;10余年DBA工作运维经验&#xff0c;擅长Oracle、MySQL、PG数据库运维&#xff08;如安装迁移&#xff0c;性能优化、故障应急处理等&#xff09; 公众号&#xff1a;老苏畅谈运维 欢迎关注本人公众号&#xff0c;更多精彩与您分享。datagu…

SpringBoot整合拦截器和日期转换器

一、SpringBoot整合拦截器 1.添加拦截器 package com.by.interceptor;import com.by.pojo.User; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import java…

【ARM】内存属性Memory Attributes (MemAttr)

目录 1. EWA 2. Device 3. Cacheable 4. Allocate 5. 内存属性的传播 6. 事务属性组合 7. Memory Type 内存属性Memory Attributes (MemAttr) 包含Early Write Acknowledgment (EWA), Device, Cacheable, 以及Allocate。 1. EWA EWA&#xff0c;Early Write Acknowledg…