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,选中为true
            let 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 访问CSS
        function 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零开始做题:有手就行

1 题目 2 解题 ARPHCR工具破解 得到flag DASCTF{2b3767763885a019b65bbfe9d1136c3b}

从零开始学docker(四)-安装mysql及主从配置(一)

mysql MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&#xff0c;关…

仿Photoshop利用曲线对图像调整亮度与色彩

曲线调整是Photoshop的最常用的重要功能之一。对于一个RGB图像, 可以对R, G, B 通道进行独立的曲线调整&#xff0c;即&#xff0c;对三个通道分别使用三条曲线&#xff08;Curve&#xff09;。还可以再增加一条曲线对 三个通道进行整体调整。 因此&#xff0c;对一个图像&a…

C++初学者指南-2.输入和输出---流输入和输出

C初学者指南-2.输入和输出—流输入和输出 文章目录 C初学者指南-2.输入和输出---流输入和输出1.定制输入/输出1.1 示例&#xff1a;点坐标输入/输出1.2 流操作符1.3&#xff08;一部分&#xff09;标准库流类型 2. 工具2.1 用getline读取行 2.2 用ignore进行跳转2.3 格式化操作…

武汉星起航:全球化舞台,中国跨境电商品牌力与竞争力双提升

随着全球化步伐的加快和数字技术的迅猛发展&#xff0c;跨境出口电商模式已经成为中国企业海外拓展的重要战略选择。这一模式不仅为中国的中小型企业提供了进军全球市场的机会&#xff0c;更为它们在全球舞台上展示独特的竞争优势提供了强有力的支撑。武汉星起航将从市场拓宽、…

STL迭代器的基础应用

STL迭代器的应用 迭代器的定义方法&#xff1a; 类型作用定义方式正向迭代器正序遍历STL容器容器类名::iterator 迭代器名常量正向迭代器以只读方式正序遍历STL容器容器类名::const_iterator 迭代器名反向迭代器逆序遍历STL容器容器类名::reverse_iterator 迭代器名常量反向迭…

问界M9累计大定破10万,创中国豪车新纪录

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 更多资源欢迎关注 6月26日消息&#xff0c;华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东今日宣布&#xff0c;问界M9上市6个月&#xff0c;累计大定突破10万辆。 这一成绩&#xff0c;也创造了中国市场…

5款名不见经传的小众软件,简单好用

​ 我们在使用一些流行的软件的时候&#xff0c;往往会忽略一些知名度不高但是功能非常强大的软件&#xff0c;有的是因为小众&#xff0c;有的是因为名不见经传&#xff0c;总之因为不出名&#xff0c;有许多的好用的软件都不为大众所知道。 1.桌面美化——Win10 Widgets ​…

为什么需要对数据质量问题进行根因分析?根因分析该怎么做?

在当今的商业环境中&#xff0c;数据已成为企业决策的核心。然而&#xff0c;数据的价值高度依赖于其质量。低质量的数据不仅会降低分析的准确性&#xff0c;还可能导致错误的决策&#xff0c;从而影响企业的竞争力和市场表现。因此&#xff0c;识别和解决数据质量问题是数据管…

c#关键字 ArgumentOutOfRangeException .? IEnumerable string.Join

c# ArgumentOutOfRangeException ArgumentOutOfRangeException 是 C# 中表示某个参数值超出了方法或属性定义的有效范围时引发的一个异常。这个异常通常在尝试访问数组、集合、字符串等的无效索引&#xff0c;或者当传递给方法或属性的参数不在其有效范围内时发生。 例如&…

浅学JVM

一、基本概念 目录 一、基本概念 二、JVM 运行时内存 1、新生代 1.1 Eden 区 1.2. ServivorFrom 1.3. ServivorTo 1.4 MinorGC 的过程 &#xff08;复制- >清空- >互换&#xff09; 1.4.1&#xff1a;eden 、servicorFrom 复制到ServicorTo&#xff0c;年龄1 …

K8S集群进行分布式负载测试

使用K8S集群执行分布式负载测试 本教程介绍如何使用Kubernetes部署分布式负载测试框架&#xff0c;该框架使用分布式部署的locust 产生压测流量&#xff0c;对一个部署到 K8S集群的 Web 应用执行负载测试&#xff0c;该 Web 应用公开了 REST 格式的端点&#xff0c;以响应传入…

C++用Crow实现一个简单的Web程序,实现动态页面,向页面中输入数据并展示

Crow是一个轻量级、快速的C微框架&#xff0c;用于构建Web应用程序和RESTful API。 将处理前端页面的POST请求以添加数据的逻辑添加到 /submit 路由中&#xff0c;并添加了一个新的路由 / 用于返回包含输入框、按钮和表格的完整页面。当用户向表格添加数据时&#xff0c;JavaS…

创新与责任并重!中国星坤连接器的可持续发展战略!

在当今全球化的商业环境中&#xff0c;企业的社会责任、技术创新和产品质量是企业可持续发展的三大支柱。中国星坤正是这样一家企业&#xff0c;它在电子连接技术领域以其卓越的技术创新、坚定的环保责任和严格的生产品控而著称。本文将深入探讨星坤科技如何通过其FAE技术团队的…

浏览器扩展V3开发系列之 chrome.contextMenus 右键菜单的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.contextMenus 允许开发者向浏览器的右键菜单添加自定义项。 在使用 chrome.contextMenus 之前…

CMN-700(1)CMN-700概述

本章介绍CMN-700&#xff0c;这是用于AMBA5 CHI互连&#xff0c;且可根据需要定制的网格拓扑结构。 1. 关于CMN‐700 CMN‐700是一种可配置扩展的一致性互连网络&#xff0c;旨在满足高端网络和企业计算应用中使用的一致性网络系统的功率、性能和面积(PPA)要求。支持1-256个处…

ES6深潜指南:解锁JavaScript类与继承的高级技巧,让您的代码更加优雅

前言 随着前端技术的迅猛发展&#xff0c;JavaScript已经成为构建现代Web应用不可或缺的编程语言。ES6&#xff08;ECMAScript 2015&#xff09;引入了许多期待已久的特性&#xff0c;其中类&#xff08;Classes&#xff09;和继承机制的引入&#xff0c;极大地增强了JavaScrip…

gc.log中 CMS-concurrent-abortable-preclean

问题 在gc日志中看到 2024-06-26T16:16:07.5040800: 64690272.666: [CMS-concurrent-abortable-preclean-start]CMS: abort preclean due to time 2024-06-26T16:16:12.5530800: 64690277.716: [CMS-concurrent-abortable-preclean: 1.052/5.049 secs] [Times: user1.33 sys0…

Gradle学习-3 Gradle构建的生命周期

Gradle常用文件目录 Gradle 构建的生命周期&#xff0c;有3个阶段: 初始化阶段配置阶段执行阶段 1、初始化阶段 Gradle 支持构建单个工程个多个子工程&#xff0c;初始化阶段主要负责收集所有参与本次构建的子工程&#xff0c;创建一个项目的层次结构&#xff0c;并未每个…

喜报!极限科技新获得一项国家发明专利授权:“搜索数据库的正排索引处理方法、装置、介质和设备”

近日&#xff0c;极限数据&#xff08;北京&#xff09;科技有限公司&#xff08;简称&#xff1a;极限科技&#xff09;新获得一项国家发明专利授权&#xff0c;专利名为 “搜索数据库的正排索引处理方法、装置、介质和设备”&#xff0c;专利号&#xff1a;ZL 2024 1 0479400…