CH12_函数和事件

第12章:Javascript的函数和事件

本章目标

  1. 函数的概念
  2. 掌握常用的系统函数
  3. 掌握类型转换
  4. 掌握Javascript的常用事件

课程回顾

  1. Javascript中的循环有那些?
  2. Javascript中的各个循环特点是什么?
  3. Javascript中的各个循环语法分别是什么?

讲解内容

1. 函数概念

  1. 为什么要使用函数

    1. 思考:我们写了一段代码,实现了一个功能,如果其他地方还是要实现这个功能,我们怎么办?
    2. 以前的思路:
      1. 重新写一段重复的代码,实现同一个功能,代码冗余。
      2. 重复代码太多,可阅读性太差。
      3. 如果功能要修改,每段重复代码都要修改,维护性差。
    3. 用函数实现,可以解决以上问题

    函数概念:

    函数就是完成特定任务的代码语句块。

    对于JS来说,我们可以把函数理解为任意一段代码放在一个盒子里,在我们想要让这段代码执行的时候,直接执行这个盒子里的代码就行。专业一点来讲:js函数就是由事件驱动的可执行课重复只用的代码块。

  2. 函数的分类

    1. 自定义函数
    2. 系统函数

2. 声明式函数

  1. 无参函数

    1. 语法:

      function 函数名(){
          函数体;
      }
      
    2. 函数的组成部分

      1. 声明函数关键字:function。
      2. 函数名,和变量命名规则一样。
      3. 参数列表,()括号里面的变量,如果没有参数,括号为空,叫无参函数。
      4. 函数体:{}里面的代码块,则表示函数实现的具体功能。
    3. 实例,通过函数方式实现输出hello Javascript~

      第一步:声明函数,实现具体功能

      function showHello(){
          console.log("hello Javascript~");
      }
      

      第二步:函数调用

      <input type="button" value="调用函数" onclick="showHello()"/>
      

      代码说明:onclick为点击事件,当点击按钮时则会调用showHello()函数。

      注意:

      函数必须要调用才能被执行,通常情况是在事件中调用。

      函数中的代码将在其他代码调用该函数时执行:

      • 当事件发生时(当用户点击按钮时)
      • 当 JavaScript 代码调用时
      • 自动的(自调用)
  2. 有参数的函数

    1. 语法:

      //函数声明
      function 函数名(参数1,参数2,… )
       { 
           JavaScript代码; 
      }
      //函数调用
      函数名(参数1,参数2,....);
      
    2. 参数说明:

      1. 形参:声明函数时的参数为形参,类似于变量名,没有具体的值,只是一个参数变量,此变量只能在函数中使用。

        function 函数名(参数1,参数2,… )

      2. 实参:调用函数时传入的值为实参,则为要传入到声明函数的具体值,按顺序赋值,必须注意顺序。

        函数名(参数1值,参数2值,....);

    3. 案例:通过函数方式实现输出N次“hello javascript~”

      第一步:编写函数

      function showHello(count){ //count为形参
          for(var i=0;i<count;i++){
              console.log("hello javascript~");
          }
      }
      

      第二步:调用函数

      <input type="button" value="调用函数" onclick="showHello(5)"/> //5为传入的具体值,则为实参
      <input type="button" value="调用函数2" onclick="showHello(prompt('请输入显示HelloWorld的次数:',''))"/>
      
    4. 案例2,带多个参数,通过函数传入输入内容和次数,实现打印功能

      第一步:编写函数

      /*
      context:要输出的内容
      count:要输出的次数
      */
      function showText(context,count){
          for(var i =0; i<count; i++){//根据count来决定输出次数
              console.log(context);//传入的内容是什么则输出什么
          }
      }
      

      第二步:调用函数

      //直接调用
      showText("你好,张三!",10);//将会输出10次“你好,张三!”
      //事件调用 
      <input type="button" value="调用参数函数" onclick="showText('你好,张三~',10)" /> //注意事件用双引号,调用函数时的字符串必须用单引号
      
  3. 带返回值的函数

    1. 语法

      //函数声明
      function 函数名(参数1,参数2,… )
       { 
           JavaScript代码; 
           return 返回值;//将函数里面的值返回
      }
      //函数调用
      var 变量=函数名(参数1,参数2,....);//可以接收函数返回的值
      

      关键字:return

      当 JavaScript 到达 return 语句,函数将停止执行。

      如果函数被某条语句调用,JavaScript 将在调用语句之后“返回”执行代码。

      函数通常会计算出返回值。这个返回值会返回给调用者:

    2. 案例:传入二个数字实现加法运算,将结果返回

      第一步:定义带返回类型的函数

      function jia(num1,num2){//定义带二个参数的函数
          var result=num1+num2;//实现加法运算,将结果保存在变量中
          return result;//返回结果
      }
      

      第二步:调用

      var result=jia(10,20);//可获取结果,然后保存在变量中
      console.log("结果:"+result);
      
  4. 函数特点:

    • 函数就是对一段代码的封装,在我们想调用的时候调用
    • 函数的几个优点
    1. 封装代码,使代码更加简洁
    2. 复用,在重复功能的时候直接调用就好
    3. 代码执行时机,随时可以在我们想要执行的时候执行

    **现场作业:**用函数方式实现以下功能,简单计算器,实现加减乘除功能。

3. 匿名函数

  1. 语法:

    var 变量名=function(参数1,参数2...){
        函数体;
    }
    

    网上常见匿名写法
    方式一:事件名=function(){…}
    方式二: (function (){ JavaScript代码;}())
    直接运行函数
    window.οnlοad=function(){…}

  2. 案例:通过匿名方法实现加法功能

    var jia=function(num1,num2){
        return num1+num2;
    }
    
    //调用 :
    var result=jia(10,20);<input type="button" value="调用匿名方法" onclick="jia(10,20)"/>
    
  3. 声明式函数和匿名函数的区别:

    • 声明式函数: 调用可以在 定义之前或者定义之后

      // 可以调用
      fn()
      // 声明式函数
      function fn() {
      	console.log('我是 fn 函数')
      }
      // 可以调用 fn函数
      fn()
      
    • 赋值式函数:只能在定义之后

      // 会报错 
      fn()
      // 赋值式函数
      var fn = function() {
      	console.log('我是 fn 函数')
      }
      // 可以调用
      fn()
      

4. 系统函数

  1. 什么是系统函数

    1. 则为系统已经定义好完成一个具体功能的函数,用户直接调用则可
  2. 常用的系统函数

    parseInt (“字符串”)
    将字符串转换为整型数字
    如: parseInt (“86”)将字符串“86”转换为整型值86
    parseFloat(“字符串”)
    将字符串转换为浮点型数字
    如: parseFloat(“34.45”)将字符串“34.45”转换为浮点值34.45
    isNaN()
    用于检查其参数是否是非数字

课堂案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function fun1(){
            alert("这是提示信息");
        }
        function fun2(){
            var name=prompt("请输入姓名:");
            alert("姓名:"+name);
        }
        function fun3(){
            var r=confirm("你确定要删除吗?");
            if(r)alert("删除成功");
        }
        function fun4(){
            open("http://www.baidu.com");
        }
        function fun5(){
            close();
        }
        function fun6(){
            var num=prompt("请输入一个数字:");
            if(isNaN(num)){
                alert("你输入的不是数字!");
            }else{
                alert("你输入的是数字!");
            }
        }
        function fun7(){
            var num1=parseInt(prompt("请输入一个数字:"));
            var num2=parseInt(prompt("请输入二个数字:"));
            var result=num1+num2;

            alert("两数之和为:"+result);
        }
    </script>
</head>
<body>

    <button onclick="fun1()">警告框</button>
    <button onclick="fun2()">输入框</button>
    <button onclick="fun3()">确认框</button>
    <button onclick="fun4()">打开百度</button>
    <button onclick="fun5()">关闭当前</button>
    <button onclick="fun6()">验证数字</button>
    <button onclick="fun7()">类型转换</button>
    
</body>
</html>

5. Javascript事件

  1. Javascript中的事件

    HTML 事件是发生在 HTML 元素上的事情。

    当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。

  2. HTML中的事件

    HTML 事件可以是浏览器行为,也可以是用户行为。

    以下是 HTML 事件的实例:

    • HTML 页面完成加载
    • HTML input 字段改变时
    • HTML 按钮被点击

    通常,当事件发生时,你可以做些事情。

    在事件触发时 JavaScript 可以执行一些代码。

    HTML 元素中可以添加事件属性,使用 JavaScript 代码来添加 HTML 元素。

  3. HTML中事件语法

    
    <body onload="加载事件()">
        <input type="button" value="点击我吧" onclick="函数()" />
    </body>
    
  4. 常用的事件

    在这里插入图片描述

  5. Javascript事件可以做什么呢?

    事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

    • 页面加载时触发事件
    • 页面关闭时触发事件
    • 用户点击按钮执行动作
    • 验证用户输入内容的合法性
    • 等等 …

    可以使用多种方法来执行 JavaScript 事件代码:

    • HTML 事件属性可以直接执行 JavaScript 代码
    • HTML 事件属性可以调用 JavaScript 函数
    • 你可以为 HTML 元素指定自己的事件处理程序
    • 你可以阻止事件的发生。
    • 等等 …

6. 常用事件

鼠标事件

在这里插入图片描述

课堂案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body> 
    <button id="btn1">单击事件</button>
    <textarea id="txt1" rows="10" cols="50">test</textarea>
    <input type="text" id="txt2" />

    <script>
        
        //单击事件
        document.getElementById("btn1").onclick=function(){
            alert("被单击了");
        }

        //快捷 菜单事件(鼠标右键)
        document.oncontextmenu=function(){
            alert("在文档中按了鼠标右键");
        }

        //双击事件
        txt1.ondblclick=function(){
            alert("双击了文本框");
        }

        //鼠标移入事件
        txt1.onmouseover=function(){
            txt1.value+="鼠标移入";
        }

        //鼠标移出事件
        txt1.onmouseout=function(){
            txt1.value+="鼠标移出";
        }

        txt2.onmousedown=function(){
            txt2.value+="鼠标按下";
        }
        txt2.onmouseup=function(){
            txt2.value+="鼠标释放";
        }
        
    </script>
</body>
</html>
键盘事件

在这里插入图片描述

事件参数:

属性描述
key按键值
keyCode按键哈希值
ctrlKey是否是ctrl键
altKey是否是alt键
shiftKey是否是shift键

课堂案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        textarea{
            position: absolute;
        }
    </style>
</head>
<body>
    <textarea id="txt1" rows="10" cols="50" ></textarea>

    <script>
        
        // txt1.οnkeydοwn=function(e){
        //     txt1.value+=e.keyCode;
        // }
        var x=0;
        var y=0;
        document.onkeydown=function(e){

            var txt=document.getElementById("txt1");

            //初始化
            x=txt.offsetLeft;
            y=txt.offsetTop;

            if(e.ctrlKey){
                alert("按了ctrl键");
            }else if(e.altKey){
                alert("按了alt键");
            }else if(e.shiftKey){
                alert("按了shift键");
            }else if(e.keyCode==37){
                x-=50;
            }else if(e.keyCode==38){
                y-=50;
            }else if(e.keyCode==39){
                x+=50;    
            }else if(e.keyCode==40){
                y+=50;    
            }
            txt.style.left=x+"px";
            txt.style.top=y+"px";
        }

        //产生内容时
        document.onkeypress=function(e){

            //按键哈希码
            //txt1.value+=e.keyCode;

            //按键值
            txt1.value+=e.key;      
        }
    </script>
</body>
</html>
对象事件

在这里插入图片描述

课堂案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>页面、窗口事件</title>
    <script>
        function fun1(){
            console.log("页面加载完成");
        }

        function fun2(){
            console.log("页面卸载完成");
        }

        function fun3(){
            console.log("用户访问页面");
        }

        function  fun4(){
            console.log("用户离开页面");
        }

        function fun5(){
            console.log("调整了窗口的大小");
        }

        function fun6(){
            console.log("用户滚动了页面");
        }

       
    </script>
</head>
<body onload="fun1()" onunload="fun2()" onpageshow="fun3()" onpagehide="fun4()" onresize="fun5()" onscroll="fun6()">
    <h1>今天有方式电风扇暴雨</h1>
    <hr/>

    <div style="height: 900px;"></div>
</body>
</html>
表单事件

在这里插入图片描述

课堂案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单事件</title>
    <style>
        #ms1{
            display: none;
        }
    </style>

    <script>


        function fun1(isView){

            //获取到目标元素
            var target=document.getElementById("ms1");

            //判断
            if(isView)
                target.style.display="inline"; //显示
            else
                target.style.display="none";  //隐藏
        }
    
        function fun2(obj){
            //alert(obj.value);
            document.getElementById("msg").innerText=obj.value;
        }

        function fun3(obj){
            var index=obj.selectedIndex;
            var opt=obj.options[index];

            //document.getElementById("msg").innerText=opt.text;
            document.getElementById("msg").innerText=opt.value;
        }
        
        function fun4(obj){
            document.getElementById("msg").innerText=obj.value;
        }

        function fun5(){
            console.log("用户重置了表单");
        }

        function fun6(){
            console.log("用户提交了表单");
        }
        function fun7(){

            
            var content=window.getSelection();
            alert("选中了文本:"+content);
        }
    </script>
</head>
<body>
    <form action="http://www.baidu.com" method="get" onreset="fun5()" onsubmit="fun6()">
        <p>用户名:<input type="text" onchange="fun2(this)" onselect="fun7()" /></p>
        <p>密码:<input type="password" onfocus="fun1(true)" onblur="fun1(false)" />
        <span id="ms1">密码有6-10位数字、字母组成</span>
        </p>
        <p>年龄:<input type="text" oninput="fun4(this)" /></p>
        <p>城市:

            <select onchange="fun3(this)">
                <option value="sz">深圳</option>
                <option value="dg">东莞</option>
                <option value="gz">广州</option>
            </select>
        </p>
        <p>
            <input type="submit"/>
            <input type="reset" />
        </p>
    </form>

    <hr>
    <div id="msg"></div>
</body>
</html>

课后作业

作业1:定义一个盒子(div)通过wasd键让他左右上下移动;(用css定位来控制它的移动效果)
给div加上一个css样式“position: absolute;”

在这里插入图片描述

作业2:当我们按下a键,文本框里面就显示手机;当释放该键,则文本框清空。

在这里插入图片描述

作业3:下拉菜单,鼠标经过的时候显示,鼠标离开就隐藏。

在这里插入图片描述

作业4:在目标元素上按下鼠标按键则背景颜色变红,当释放则变黄。

在这里插入图片描述

作业5:鼠标移出文本框时文本框显示123456,最后双击按钮显示两个输入框,随便输入两个数值最后相加起来和是多。

在这里插入图片描述

作业6:实现从第一个框复制,到第二个框粘贴,Ctrl+A:复制,Ctrl+B粘贴。

在这里插入图片描述

作业7.有一个文本框,需要输入年龄,在失去焦点时判断气质是否符合要求,如果不符合要求则给出相应提示,如果符合要求则提示提交成功。(条件为:必须是数字,且为1-100)

作业8.有一个文本框,需要输入姓名,要求在其获得焦点时设置其样式:
A.虚线边框
B.红色背景颜色

作业9.有一个登录表单页面,要求实现登录判断:
如果用户名为admin,且密码为gckj123456,则提示登录成功,且跳转到目标页面
如果错误,则给出相应提示。

作业10.有一个文本框,要求编程实现复制、粘贴所选中的内容。(Ctrl+A:复制,Ctrl+B:粘贴);

作业11.获得焦点,如果是默认文字,就清空表单内容 并且字体为黑色 并且把类型换为文本框 this.type = ‘text’
失去焦点,如果为空,则表单改为默认字 ,并且字体为灰色 并且把类型换为密码框 this.type = ‘password’

作业12.登录系统,由一个文本框,两个密码框和登录按钮组成,用户输入,账号,密码,确认密码,两个密码必须相同,才可以登录,否则登录按钮处于禁用状态。

作业13.创建一个页面包含一个文本框、跟一个按钮,和一个显示结果的div.
默认情况下,在文本框输入内容时,字体颜色为黑色
当单击以一下旁边的按钮后,则在文本框输入内容时,字体颜色为红色
当双击一下旁边的按钮后,则在文本框输入内容时,字体为黄色.
无论是单击还是双击,如果文本框中有内容,则将其写入到下方的div中。

作业14.有一个表单,包含一个输入框和一个按钮。用户输入一个数字,点击按钮后,如果该数字是偶数,则在页面上显示“偶数”,否则显示“奇数”。

作业15.实现一个选择菜单,包含三个选项 A、B 和 C。
当用户选择选项 A 时,显示一个输入框。
当用户选择选项 B 时,显示一个单选框,
当用户选择选项 C 时,隐藏其他输入框和单选框。

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

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

相关文章

网页封装APP:让您的网站变身移动应用

网页封装APP&#xff1a;让您的网站变身移动应用 随着移动设备的普及&#xff0c;越来越多的人开始使用移动设备浏览网站。但是&#xff0c;传统的网站设计并不适合移动设备的屏幕尺寸和交互方式&#xff0c;这导致了用户体验不佳和流失。 有没有办法让您的网站变身移动应用&…

【ROS2】初级:客户端-编写一个简单的服务和客户端(Python)

目标&#xff1a;使用 Python 创建并运行服务节点和客户端节点。 教程级别&#xff1a;初学者 时间&#xff1a;20 分钟 目录 背景 先决条件 任务 1. 创建一个包2. 编写服务节点3. 编写客户端节点4. 构建并运行 摘要 下一步 相关内容 背景 当节点通过服务进行通信时&#xff0c…

【项目日记(一)】梦幻笔耕-数据层实现

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多项目内容 目录 1.前言2.后端模块3数据库设计4.mapper实现4.1UserInfoMapper4.2BlogMapper 5.总结 1.…

机器学习筑基篇,​Ubuntu 24.04 快速安装 PyCharm IDE 工具,无需激活!

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] Ubuntu 24.04 快速安装 PyCharm IDE 工具 描述&#xff1a;虽然在之前我们安装了VScode&#xff0c;但是其对于使用Python来写大型项目以及各类配置还是比较复杂的&#xff0c;所以这里我们还是推…

U盘非安全拔出后的格式化危机与数据拯救策略

在数字化时代&#xff0c;U盘作为便捷的数据携带工具&#xff0c;其重要性不言而喻。然而&#xff0c;许多用户在日常使用中往往忽视了安全退出的重要性&#xff0c;直接拔出U盘后再插入时可能会遭遇“需要格式化”的提示&#xff0c;这一状况不仅令人措手不及&#xff0c;更可…

YOLOv9报错:AttributeError: ‘list‘ object has no attribute ‘view‘

报错信息如下&#xff1a; red_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( AttributeError: ‘list’ object has no attribute ‘view’ 解决方法&#xff1a; 去yolov9/utils/loss_tal.py把167行代码更改&#…

Android最近任务显示的图片

Android最近任务显示的图片 1、TaskSnapshot截图1.1 snapshotTask1.2 drawAppThemeSnapshot 2、导航栏显示问题3、Recentan按键进入最近任务 1、TaskSnapshot截图 frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotController.java frameworks/base/cor…

Blazor SPA 的本质是什么以及服务器端渲染如何与 Blazor 的新 Web 应用程序配合使用

Blazor 通常被称为单页应用程序 (SPA) 框架。当我第一次开始使用 Blazor 时&#xff0c;我对 SPA 的含义、组件如何为 SPA 架构做出贡献以及所有这些如何与交互性联系在一起感到困惑。 今天&#xff0c;我将解答大家可能关心的三个问题&#xff1a; 什么是 SPA&#xff1f;了…

Sentinel-1 Level 1数据处理的详细算法定义(一)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程&#xff0c;以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

14-42 剑和诗人16 - 如何从一个技术人员到CTO再到投资人的角色转变

​​​​​​ 我清楚地记得我的职业轨迹发生转变的那个关键时刻。当时&#xff0c;我正向整个执行领导团队和董事会成员介绍我们部门的技术路线图&#xff0c;感到说服这些有影响力的利益相关者资助一系列雄心勃勃的计划的压力。我知道他们的支持&#xff08;和资金&#xff09…

英语学习交流小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;每日打卡管理&#xff0c;备忘录管理&#xff0c;学习计划管理&#xff0c;学习资源管理&#xff0c;论坛交流 微信端账号功能包括&#xff1a;系统首页&#xff0c;学习资源&…

基于最大相邻夹角的边缘点提取(matlab)

1、背景介绍 边缘点是指点云数据中代表物体或场景几何形状突变的那些点。在三维点云中&#xff0c;边缘点通常标志着不同表面或物体的分界&#xff0c;或者是物体表面上的不规则性&#xff0c;如裂缝、棱角、突起等。点云边缘检测的作用非常重要&#xff0c;最常见是进行特征点…

应用监控SkyWalking调研

参考&#xff1a; 链路追踪( Skyworking )_skywalking-CSDN博客 企业级监控项目Skywalking详细介绍&#xff0c;来看看呀-CSDN博客 SkyWalking 极简入门 | Apache SkyWalking 使用 SkyWalking 监控 ClickHouse Server | Apache SkyWalking https://zhuanlan.zhihu.com/p/3…

45 mysql truncate 的实现

前言 truncate 是一个我们也经常会使用到的命令 其作用类似于 delete from $table; 但是 他会比 delete 块很多&#xff0c;这里我们来看一下 它的实现 delete 的时候会逐行进行处理, 打上 删除标记, 然后 由后台任务 进行数据处理 truncate table 的实现 执行 sql 如下 …

【测试专题】软件总体计划方案(2024原件word)

测试目标&#xff1a;确保项目的需求分析说明书中的所有功能需求都已实现&#xff0c;且能正常运行&#xff1b;确保项目的业务流程符合用户和产品设计要求&#xff1b;确保项目的界面美观、风格一致、易学习、易操作、易理解。 获取&#xff1a;软件全套文档过去进主页。 一、…

Go语言--工程管理、临时/永久设置GOPATH、main函数以及init函数

工作区 Go 代码必须放在工作区中。工作区其实就是一个对应于特定工程的目录&#xff0c;它应包含3个子目录:src 目录、pkg目录和bin 目录。 src 目录:用于以代码包的形式组织并保存 Go源码文件。(比如:.go.chs等)pkg 目录:用于存放经由 go install 命令构建安装后的代码包(包…

2.3.2 主程序和外部IO交互 (文件映射方式)----C#调用范例

2.3.2 主程序和外部IO交互 &#xff08;文件映射方式&#xff09;----C#调用范例 效果显示 1 说明 1 .1 Test_IOServer是64bit 程序&#xff0c; BD_SharedIOServerd.dll 在 /Debug文件夹中 1 .2 Test_IOServer是32bit 程序&#xff0c; BD_SharedIOClientd.dll (32bit&#…

java join与yield方法

join() join() 方法的主要作用是使当前线程&#xff08;调用 join() 方法的线程&#xff09;等待目标线程完成执行。当目标线程执行完毕后&#xff0c;当前线程才会继续执行。 代码示例&#xff1a; public class JoinExample {public static void main(String[] args) {Thr…

在数字化时代,自助BI是数据价值最大化的必经之路

引言&#xff1a;在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;仅仅拥有海量数据并不足以带来竞争优势&#xff0c;关键在于如何有效地分析并利用这些数据以指导决策、优化运营、提升客户体验&#xff0c;并最终实现业务的持续增长。在一章里笔者…

SpringBoot新手快速入门系列教程七:基于一个低配centoos服务器,如何通过宝塔面板部署一个SpringBoot项目

1&#xff0c;如何打包一个项目 通过IDEA自带的命令行&#xff0c;执行 ./gradlew clean build 2&#xff0c;检查生成的JAR文件 进入 build/libs 目录&#xff0c;你应该会看到一个类似 helloredis-0.0.1-SNAPSHOT.jar 的文件。 3&#xff1a;运行生成的JAR文件 你可以使…