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

菜鸟之路Day23一一JavaScript 入门

菜鸟之路Day23一一JavaScript 入门

作者:blue

时间:2025.3.10

文章目录

  • 菜鸟之路Day23一一JavaScript 入门
    • 0.概述
    • 1.JS的引入方式
    • 2.JS的基础语法
      • 2.1输出语句
      • 2.2变量
      • 2.3数据类型
      • 2.4运算符
      • 2.5类型转换
    • 3.函数
    • 4.JS对象
      • 4.1Array对象
      • 4.2String对象
      • 4.3Js自定义对象
      • 4.4JSON对象
      • 4.5BOM对象
      • 4.6DOM对象
      • 4.7JS事件监听
    • 5.Vue
      • 5.1Vue引入
      • 5.2Vue指令

0.概述

内容学习至黑马程序员BV1m84y1w7Tb

1.JS的引入方式

内部脚本:将JS代码定义在HTML页面中

1.JS的代码必须位于script标签之间

2.在html文档中,可以在任意地方,放置任意数量的script标签

3.一般会把脚本置于body元素的底部,可以改善显示速度

<script>alert('Hello JS');
</script>

外部脚本:将JS代码定义在外部JS文件中,然后引入到HTML页面中

1.外部的JS文件中,只包含JS代码,不包含script标签

2.script标签不能自闭合

2.JS的基础语法

2.1输出语句

<script>window.alert("Hello World"); //浏览器弹出警告框document.write("Hello World"); //写出HTML,在浏览器中显示console.log("Hello World"); //在控制台输出
</script>

2.2变量

var

JavaScript中用var关键字,来声明变量。

JavaScirpt是一门弱类型的语言,变量可以存放不同类型的值

特点1:作用域比较大,相当于一个全局变量

特点2:同名变量,可以被重复定义

<script>//代码块{var a = 10;a = "zhangsan";var a = "zhangsan";//可以被重复定义}alert(a);//作用域大
</script>

let

let关键字来定义变量,只在let关键字所在的代码块中有效,且不允许重复声明

<script>//代码块{let a = 10;//let a = 20;//报错}salert(a);//作用域,只在本代码块中有用
</script>

const

用来声明一个只读的常量,一旦声明,常量的值就不能改变

<script>const pi = 3.14;//pi = 3.15; //报错
</script>

2.3数据类型

JavaScript中分为原始类型和引用类型

原始类型:number:数字(整数,小数,NaN(Not a Number))

​ string:字符串,单双引号都可以

​ boolean:布尔

​ null:对象为空

​ undefined:当声明的变量未初始化时,该变量的默认值是undefined

使用typeof运算符可以获取数据类型

<script>var a = 10;alert(typeof a);//numbervar b = "10";alert(typeof b);//stringalert(typeof true);//booleanalert(typeof null);//objectalert(typeof c);//undefined
</script>

2.4运算符

总体来说运算符是和java一样的,不过有一个特殊的运算符 "==="全等运算符

==会进行类型转换

===不会进行类型转换

<script>var a = 10;alert(a=="10"); //truealert(a==="10"); //falsealert(a===10);//true
</script>

2.5类型转换

字符串类型转为数字:

​ 将字符串字面值转为数字。如果字面值不是数字,则转为NaN

<script>alert(parseInt("12")) //12alert(parseInt("12A34")) //12,截至到第一个字面值非数字alert(parseInt("A12")) //NaN
</script>

其他类型转为boolean:

​ Number:0和NaN为false,其他转为true

​ String:空字符串为false,其他转为true

​ Null 和 undefined:均转为false

3.函数

JS中的函数定义(共有两种方式)

//定义方式1
function functionName(参数1,参数2){//要执行的代码
}//定义方式2
var functionName = function(参数1,参数2){//要执行的代码
}

注意:形式参数不需要类型。因为JavaScript是弱类型语言

​ 返回值也不需要定义类型,可以在函数内部直接使用return返回即可

<script>//方式1function add(a,b){return a+b;}//方式2var sub = function(a,b){return a-b;}alert(add(1,2));//3alert(sub(1,2));//-1
</script>

4.JS对象

4.1Array对象

JavaScript中Array对象用于定义数组

定义:

var 变量名 = new Array(元素列表); //方式一var 变量名 = [元素列表];	//方式二

注意:JavaScript中的数组相当于Java中集合,数组长度是可变的,而JavaScript是弱类型,所以可以存储任意的类型的数据

Array对象相关属性或方法

属性:

​ length:设置或返回数组中元素的数量

方法:

​ forEach() 遍历数组中每一个有值的元素

​ push() 将新元素添加到数组末尾,并返回新的长度

​ splice() 从数组中删除元素

    <script>var arr = new Array(1,2,3,4);console.log(arr);arr[10] = "你好";//for循环直接遍历整个数组for (var i = 0; i < arr.length; i++) {//其中没有值的位置是undefined类型console.log(arr[i]);}console.log("=======================");//forEach()遍历数组中有值的位置arr.forEach(function(e){console.log(e);});console.log("=======================");//利用箭头函数来简化这个过程,类似于lambda表达式arr.forEach(e => {console.log(e)});console.log("=======================");arr.push("我不好");console.log(arr[arr.length-1]);console.log("=======================");arr.splice(0,1);//参数一:从那个索引开始删除//参数二:删除几个</script>

4.2String对象

<script>var str = new string("   hello world  ");console.log(str.length);//长度属性console.log(str.charAt(0));//返回在指定位置的字符console.log(str.indexOf("l"));//查找字符串第一次出现的位置var s = str.trim();console.log(s);//删除字符串两边空格console.log(str.substring(1,3));//提取指定两个索引之间的字串,包头不包尾</script>

4.3Js自定义对象

<script>var stu = {name:"张三",age:18,sex:"男",eat:function(){alert("吃东西");}};//调用格式alert(stu.name);stu.eat();
</script>

4.4JSON对象

JSON是通过JavaScript对象标记法书写的文本

由于其语法简单,层次结构鲜明,现多用于做数据载体,在网络中进行数据传输

//定义,注意在此处键一定要用双引号括起来
var 变量名 = '{"key1":value1,"key2":value2}'

value 的数据类型为:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)null

两个常用的方法

//JSON字符串转为JS对象
var jsObj  = JSON.parse(uerStr);//JS对象转为JSON字符串
var jsonStr = JSON.stringify(jsObj);

示例一:

<script>var jsonStr = '{"name":"张三","age":18,"sex":"男"}';var stu = JSON.parse(jsonStr);alert(stu.name);
</script>

示例二:

<script>var stu = {name:"张三",age:18,sex:"男",eat:function(){alert("吃东西");}};var jsonStr = JSON.stringify(stu);alert(jsonStr);
</script>

4.5BOM对象

BOM对象:浏览器对象模型,允许JavaScript与浏览器对话,JavaScript将浏览器的各个组成部分封装为对象

Window:浏览器窗口对象

Navigator:浏览器对象

Screen:屏幕对象

History:历史记录对象

Location:地址栏对象

主要了解其中两个(粗体)对象

1.Window对象

<script>//alert():显示带有一段消息和一个确认按钮的警告框。window.alert("hello world");
</script>
<script>//显示带有一段消息以及确认按钮和取消按钮的对话框var flag = window.confirm("是否确定删除?");alert(flag);
</script>
<script>//setlnterval():按照指定的周期(以毫秒计)来调用函数或计算表达式,var i = 0;window.setInterval(function(){i++;console.log("函数运行了"+i+"次");},2000);
</script>
<script>//setTimeout():在指定的毫秒数后调用函数或计算表达式,window.setTimeout(function(){alert("hello world");},3000);
</script>

2.Location:地址栏对象

<script>alert(location.href);location.href = "https://www.baidu.com/?a=1";//令浏览器,跳转到百度
</script>

4.6DOM对象

概念:Document Object Model,文档对象模型。

将标记语言的各个组成部分封装为对应的对象:

​ Document:整个文档对象
​ Element:元素对象
​ Attribute:属性对象
​ Text:文本对象
​ Comment:注释对象

HTML中的Element对象可以通过Document对象获取,而Document对象是通过window对象获取的

Document对象中提供了以下获取Element元素对象的函数:

1.根据id属性值获取,返回单个Element对象

var h1 = document.getElementById('h1');

2.根据标签名称获取,返回Element对象数组

var divs = document.getElementsByTagName('div');

3.根据name属性值获取,返回Element对象数组

var hobbys = document.getElementsByName("hobby');

4.根据class属性值获取,返回Element对象数组

var clss = document.getElementsByClassName('cls');

DOM对象的方法,我们可以通过查阅文档来使用JavaScript HTML DOM 文档 (w3school.com.cn)

4.7JS事件监听

事件监听:JavaScript可以在事件被侦测到时执行代码

两种事件绑定的方式:

方式一:通过 HTML标签中的事件属性进行绑定

方式二:通过 DOM 元素属性绑定

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS_demo06</title>
</head>
<body><input type="button" onclick="on()" value="按钮1"><input type="button" id="btn" value="按钮2">
</body>
<script>function on(){//方式一:alert("按钮1被点击了");//方式二:document.getElementById("btn").onclick = function(){alert("按钮2被点击了");}}
</script>
</html>

常见事件

事件描述
onblur元素失去焦点
onfocus元素获得焦点
onchangeHTML 元素已被改变
onclick用户点击了 HTML 元素
onmouseover用户把鼠标移动到 HTML 元素上
onmouseout用户把鼠标移开 HTML 元素
onkeydown用户按下键盘按键
onload浏览器已经完成页面加载

5.Vue

Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。

基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上

官网:https://v2.cn.vuejs.org/

5.1Vue引入

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue_demo01</title><!-- 使用 CDN 引入 Vue --><script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head><body><!-- 编写视图 --><div id="app"><input type="text" v-model="msg">{{msg}}</div>
</body>
<script>new Vue({el: "#app",data: {msg: "Hello Vue!"}})
</script></html>

5.2Vue指令

指令作用
v-bind为HTML标签绑定属性值,如设置href,css样式等,v-bind可以直接省略为:
v-model在表当元素上创建双向数据绑定

注意事项:通过v-bind或者v-model绑定的变量,必须在数据模型中声明

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue_demo02</title><script src="JS/vue.js"></script>
</head>
<body><div id="app"><a v-bind:href="url">链接1</a><a :href="url">链接2</a><input type="text" v-model="url"></div>
</body>
<script>new Vue({el:"#app",//绑定vue实例data:{url:"https://www.baidu.com"}})
</script>
</html>
指令作用
v-on为HTML标签绑定事件,可以简写成@
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue_demo02</title><script src="JS/vue.js"></script>
</head>
<body><div id="app"><a v-bind:href="url">链接1</a><a :href="url">链接2</a><input type="text" v-model="url"><input type="button" value="按钮1" v-on:click="handle()"><input type="button" value="按钮2" @click="handle()"></div>
</body>
<script>new Vue({el:"#app",//绑定vue实例data:{url:"https://www.baidu.com"},methods:{handle(){alert("按钮被点击了");}}})
</script>
</html>
指令作用
v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else-if同上
v-else同上
v-show根据条件展示某元素,区别在于切换的是display属性的值
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue_demo03</title><script src="JS/vue.js"></script>
</head>
<body><div id="app">年龄<input type="text" v-model="age">经判断为<span v-if = "age<=35">年轻人</span><span v-else-if = "age>35&&age<60">中年人</span><span v-else>老年人</span><br></br>年龄<input type="text" v-model="age">经判断为<span v-show = "age<=35">年轻人</span><span v-show = "age>35&&age<60">中年人</span><span v-show = "age>60">老年人</span></div>
</body>
<script>new Vue({el:"#app",data:{age:18}})
</script>
</html>
指令作用
v-for列表渲染,遍历容器的元素或者对象的属性
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue_demo04</title><script src="JS/vue.js"></script>
</head>
<body><div id="app"><div v-for="addr in addrs">{{addr}}</div><div v-for="(addr,index) in addrs">{{index+1}}:{{addr}}</div></div>
</body>
<script>new Vue({el:"#app",data:{addrs:["北京","上海","广州","深圳"]}})
</script>
</html>

age:18
}
})

```
指令作用
v-for列表渲染,遍历容器的元素或者对象的属性
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue_demo04</title><script src="JS/vue.js"></script>
</head>
<body><div id="app"><div v-for="addr in addrs">{{addr}}</div><div v-for="(addr,index) in addrs">{{index+1}}:{{addr}}</div></div>
</body>
<script>new Vue({el:"#app",data:{addrs:["北京","上海","广州","深圳"]}})
</script>
</html>

相关文章:

菜鸟之路Day23一一JavaScript 入门

菜鸟之路Day23一一JavaScript 入门 作者&#xff1a;blue 时间&#xff1a;2025.3.10 文章目录 菜鸟之路Day23一一JavaScript 入门0.概述1.JS的引入方式2.JS的基础语法2.1输出语句2.2变量2.3数据类型2.4运算符2.5类型转换 3.函数4.JS对象4.1Array对象4.2String对象4.3Js自定义…...

FreeSWITCH 简单图形化界面40 - 使用mod_curl模块进行http请求

FreeSWITCH 简单图形化界面40 - 使用mod_curl模块进行http请求 0、界面预览00、简介1、编译安装1.1 编辑模块配置文件 2、使用2.1 拨号规则GET 请求POST 请求JSON 数据 2.2 Lua 脚本GET 请求POST 请求JSON 数据 3 、示例3.1 示例 1&#xff1a;提交 CDR 到第三方接口3.2 示例 2…...

TCP/IP原理详细解析

前言 TCP/IP是一种面向连接&#xff0c;可靠的传输&#xff0c;传输数据大小无限制的。通常情况下&#xff0c;系统与系统之间的http连接需要三次握手和四次挥手&#xff0c;这个执行过程会产生等待时间。这方面在日常开发时需要注意一下。 TCP/IP 是互联网的核心协议族&…...

HTTP与HTTPS的深度解析:技术差异、安全机制及应用场景

引言 HTTP&#xff08;超文本传输协议&#xff09;作为互联网通信的核心协议&#xff0c;自1991年诞生以来&#xff0c;经历了从HTTP/1.0到HTTP/3的多次迭代。然而&#xff0c;随着网络安全威胁的升级&#xff0c;纯HTTP协议因缺乏加密机制逐渐暴露其局限性。本文将重点解析HT…...

DrissionPage:更高效的动态爬虫实践(实例)

场景分析 代码重构对比 原Requests方案痛点 DrissionPage方案优势 重构后完整代码 关键技术点解析 1. 会话保持与指纹模拟 2. 智能请求重试 3. 反反爬策略 4. 混合模式扩展 性能对比测试 适用场景建议 常见问题解决 场景分析 原代码通过Requests直接调用B站API接…...

Triplet Loss原理及 Python实现

Triplet loss最初是谷歌在 FaceNet: A Unified Embedding for Face Recognition and Clustering 论文中提出的&#xff0c;可以学到较好的人脸的embedding Triplet Loss 是一种用于训练特征嵌入&#xff08;feature embedding&#xff09;的损失函数&#xff0c;广泛应用于人脸…...

2025人工智能AI新突破:PINN内嵌物理神经网络火了

最近在淘金的时候发现基于物理信息的神经网络&#xff08;简称PINN&#xff09;也是个研究热点&#xff0c;遂研读了几篇经典论文&#xff0c;深觉这也是个好发论文的方向&#xff0c;所以火速整理了一些个人认为很值得一读的PINN论文和同学们分享。 为了方面同学们更好地理解…...

深入探索Matter协议:开发Matter智能家居设备的基本步骤

随着家居智能化程度的提高&#xff0c;智能家居设备之间相互连接的网络虽然提升了家庭便利性&#xff0c;但也变得越来越复杂&#xff0c;难以管理。将亚马逊Alexa、Ring门铃、谷歌Nest Hub和苹果HomeKit等各种设备连接起来&#xff0c;并确保这些不同设备和操作系统能够良好地…...

搜广推校招面经四十五

快手主站推荐算法 这个是做因果选券的&#xff0c;如果大家的工作和这个有关&#xff0c;可以看看 一、有没有分析特征对各个的贡献度&#xff0c;怎么做&#xff1f; 传统的特征重要度衡量方法&#xff0c;就不介绍了。什么基于树模型的、SHAP值、LIME等。 但其实实际工程中…...

python之replace,strip,split命令

1. replace() 方法 功能&#xff1a;替换字符串中的指定子串 语法&#xff1a;str.replace(old, new[, count]) 特点&#xff1a; 全部替换&#xff08;默认&#xff09;或指定替换次数区分大小写返回新字符串&#xff0c;原字符串不变 示例&#xff1a; text "Hello…...

C语言处理字符串的十个函数(附带大量实例)

C语言的字符串处理函数主要集中在 <string.h> 头文件中&#xff0c;使用这些函数前必须包含该头文件。 字符串处理函数操作的对象通常是字符串&#xff08;以 \0 结尾的字符数组&#xff09;&#xff0c;它们极大地方便了文本处理任务。 以下是我们将要讲解的主要函数&…...

【10】单片机编程核心技巧:指令周期与晶振频率

【10】单片机编程核心技巧&#xff1a;指令周期与晶振频率 &#x1f31f; 核心概念 单片机的运算速度与时间控制&#xff0c;本质上由 指令周期 和 晶振频率 共同决定。理解这两者的关系&#xff0c;是掌握单片机底层控制的关键。 &#x1f4cc; 1. 节拍与指令周期 &#x1…...

GitLab的Dockerfile 追踪

为了在 GitLab 上准备每个平台的 Docker 镜像文件&#xff0c;并实现完整的 Dockerfile 追踪&#xff0c;可以按照以下步骤进行操作&#xff1a; 项目准备 首先&#xff0c;确保你有一个 GitLab 项目&#xff0c;并且本地已经克隆了该项目的仓库。如果还没有项目&#xff0c;可…...

HTML基础

前言 什么是 HTML&#xff1f; HTML 是一种用于创建网页结构的标记语言&#xff0c;通过标签&#xff08;Tag&#xff09;定义内容的结构和呈现方式。 浏览器解析 HTML 文档后&#xff0c;将其渲染为可视化网页。 一、HTML 语法 1. HTML 基本骨架 所有 HTML 文档必须包含以下…...

静态时序分析:无法满足的生成时钟(TIM-255警告、UITE-461或PTE-075错误)

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在阅读本文前&#xff0c;强烈建议首先阅读介绍生成时钟的文章&#xff0c;尤其是其中关于时钟极性和反相的相关内容。 静态时序分析&#xff1a;SDC约束命令cr…...

SpringBoot日常:集成shareingsphere-jdbc

文章目录 pom依赖application.yml配置log4j2.xml实体类MapperServicecontroller调用插入接口调用查询接口 本章内容我们来聊聊如何将shareingsphere-jdbc集成到我们自己的springboot项目中&#xff0c;本章采用的shareingsphere-jdbc版本是5.1.2&#xff0c;springboot项目是2.…...

Java 生成图形验证码

一、图形验证码的意义 图形验证码是一种广泛应用于互联网领域的安全验证机制&#xff0c;它通过向用户展示包含字符、数字、图形等信息的图片&#xff0c;要求用户正确识别并输入其中的内容&#xff0c;以此来区分用户是人类还是机器程序。图形验证码具有多方面重要意义&#…...

nextjs15简要介绍以及配置eslint和prettier

目录 一、Next.js 何时使用服务器端渲染&#xff08;SSR&#xff09;&#xff1f;何时使用静态生成&#xff08;SSG&#xff09;&#xff1f; 1、服务器端渲染&#xff08;SSR - getServerSideProps&#xff09; 2、 静态生成&#xff08;SSG - getStaticProps&#xff09; …...

插入排序算法优化

一 插入排序概述 插入排序是稳定的原地排序算法,核心思想是逐步构建有序序列。对于未排序部分的每个元素,在已排序序列中从后向前扫描,找到合适位置插入。时间复杂度为: 最优:O(n)(已有序) 最差:O(n^2)(完全逆序) 平均:O(n^2) 二 二分查找优化(减少比较次数)…...

python学智能算法(七)|KNN邻近算法

【1】引言 前述学习进程中&#xff0c;已经了解了一些非常经典的智能算法&#xff0c;相关文章包括且不限于&#xff1a; python学智能算法&#xff08;三&#xff09;|模拟退火算法&#xff1a;深层分析_模拟退火 动画演示-CSDN博客 python学智能算法&#xff08;四&#x…...

LabVIEW闭环控制系统硬件选型与实时性能

在LabVIEW闭环控制系统的开发中&#xff0c;硬件选型直接影响系统的实时性、精度与稳定性。需综合考虑数据采集速度&#xff08;采样率、接口带宽&#xff09;、计算延迟&#xff08;算法复杂度、处理器性能&#xff09;、输出响应时间&#xff08;执行器延迟、控制周期&#x…...

JavaScript(Web APIs)

这个阶段两天也能看完 目录 壹_DOM-获取元素 00、获取DOM元素&#xff08;根据CS选择器来获取DOM元素&#xff09; 01、修改元素内容 02、修改CSS 03、H5自定义属性 04、定时器 贰_DOM-事件基础 00、事件监听 01、事件类型 02、事件对象 03、环境对象 04、回调函数 叁_DOM-事…...

创建Electron35 + vue3 + electron-builder项目,有很过坑,记录过程

环境&#xff1a; node v20.18.0 npm 11.1.0 用到的所有依赖&#xff1a; "dependencies": {"core-js": "^3.8.3","vue": "^3.2.13","vue-router": "^4.5.0"},"devDependencies": {"ba…...

机器视觉条形光源应用解析

在机器视觉中,条形光源是一种常见的照明设备,通过其特殊的形状和光路设计,能够有效解决检测中的光照均匀性、反光抑制、对比度增强等问题。以下是关于条形光源的详细解析: 1. 条形光源的基本结构与类型 结构:由多个LED灯珠沿直线或弧形排列,通常封装在长条形外壳中,可单…...

苹果商店上架流程,app上架发布流程

苹果商店地址 https://appstoreconnect.apple.com/login 其他地址:开发 - Apple Developer 1.更新代码 将项目的代码更新到最新,更新成功后右下角会给出提示 2.打开模拟器 鼠标右键可以选择设备(Device) 3.测试运行 如下图可以看到已经识别到设备了,点击运行即可,运行到模…...

大数据技术在土地利用规划中的应用分析

大数据技术在土地利用规划中的应用分析 一、引言 土地利用规划是对一定区域内的土地开发、利用、整治和保护所作出的统筹安排与战略部署,对于实现土地资源的优化配置、保障社会经济的可持续发展具有关键意义。在当今数字化时代,大数据技术凭借其海量数据处理、高效信息挖掘等…...

【Axure资料】110套优质可视化大屏模板+图表组件+科技感元件等

本作品集包含110套高保真可视化大屏模板&#xff0c;以及丰富的图表组件和科技感元件&#xff0c;旨在满足各行业对数据可视化展示的需求。所有模板和组件均基于Axure RP 9软件设计&#xff0c;确保高质量的交互体验和视觉效果。 作品类型&#xff1a;Axure原型模板 兼容版本&…...

TCP-IP协议通信模型

一、TCP/IP协议概述 TCP/IP协议即传输控制协议/互联网协议&#xff0c;也被称为网络通讯协议。它包含了一系列构成互联网基础的网络协议&#xff0c;是Internet的核心协议。 二、TCP/IP协议通信模型 文件中提到了TCP/IP协议通信模型&#xff0c;但未详细展开其具体层次结构和…...

VMware下载安装Ubuntu详解

一、Linux简介 1、不同领域的主流操作系统 桌面操作系统服务器操作系统移动设备操作系统嵌入式操作系统 1.1、桌面操作系统 Windows&#xff08;用户数量最多&#xff09;Mac OS&#xff08;苹果电脑操作系统&#xff09;Linux&#xff08;用户数量少&#xff09; 1.2、服…...

wpf label 内容绑定界面不显示

<Label Content"{Binding LabelText}" /> ... public string LabelText {get;set;}后端改变值后,界面内容并不显示 查看资料后改动如下 private string _labelText; public string LabelText{get { return _labelText; }set { _labelText value; OnPropertyCh…...

VC++ 获取目的IP的路由

GetBestRoute 函数获取到目的IP的最佳匹配路由。 第一个参数为&#xff1a;destination&#xff08;目的IP&#xff09; 第二个参数为&#xff1a;source&#xff08;源IP&#xff09; 通常不需要指定第二个source&#xff0c;这个一般用来匹配具体某一个网卡接口路由的&…...

海外跨境专线是什么?如何搭建海外跨境专线?

网络跨境专线——这一名词你听说过吗&#xff1f;如果你在跨境经济、国际贸易或网络通信领域工作&#xff0c;那它一定是你日常工作的一个重要话题。今天我们就来聊聊网络跨境专线的概念和搭建方法&#xff0c;希望能够为你在这一领域的探索提供一些帮助。 一、什么是网络跨境…...

【神经网络】python实现神经网络(二)——正向推理的模拟演练

一.神经网络假设 在开始讲解之前,首先我们假设有这样一套神经网络,一共有三层: 其中,关于神经网络的权重、偏置的符号定义如下(如果不知道什么是权重和偏置,可以参考我之前写过的一篇文章:【机器学习】机器学习是什么意思): 以下文章将沿用以上这个设…...

【从零开始学习计算机科学】操作系统(八)IO管理

【从零开始学习计算机科学】操作系统(八)IO管理 IO管理IO设备IO设备的分类IO控制器设备控制器的IO端口编址设备数据传输控制方法缓冲技术缓冲区的分类常用的缓冲技术虚拟设备IO设备的分配IO相关的软件的设计IO管理 IO设备 IO设备就是可以将数据输入到计算机,或者可以接收计…...

MySQL的安装及配置

一.以安装包方式下载 1.进入MySQL官网&#xff0c;下载安装包 官网链接&#xff1a;https://downloads.mysql.com/archives/installer/ 2.安装MySQL 二.压缩包方式下载 下载位置&#xff1a;mysql下载位置 解压缩后位置&#xff1a;D:\mysql-8.0.15-winx64 在主目录下复制…...

macOS 终端优化

macOS 安装、优化、还原、升级 Oh My Zsh 完全指南 &#x1f680; Oh My Zsh 是 macOS 终端增强的利器&#xff0c;它能提供强大的自动补全、主题定制和插件支持&#xff0c;让你的终端更高效、更炫酷。本文将全面介绍 如何安装、优化、还原、重新安装和升级 Oh My Zsh&#x…...

Java三种注释方式

Java有三种注释&#xff1a;单行注释&#xff08;//&#xff0c;从//到行尾被忽略&#xff0c;用于简单说明&#xff09;&#xff0c;多行注释&#xff08;/* */&#xff0c;可包含多行内容&#xff0c;用于解释逻辑或禁用代码&#xff09;&#xff0c;文档注释&#xff08;/**…...

Java 无 GUI 浏览器:HtmlUnit 入门及实战 [特殊字符]

文章目录 HtmlUnit 入门功能简介入门案例更多功能HtmlUnit 实战需求页面分析编码参考⭐ 本文目标: HtmlUnit 框架入门HtmlUnit 框架实战:实现 HtmlUnit 访问 Web 页面,并实现 Web 页面按钮点击,同时获取到下载的文件。HtmlUnit 入门 🚀 官网:https://htmlunit.sourcefo…...

前端如何发布npm包

1. 初始化项目 确保你的项目已经初始化,并生成 package.json 文件。如果没有,运行以下命令: npm init -y 按照提示填写项目信息(如项目名称、版本、描述等),生成 package.json 文件。 2. 安装 Webpack 在项目目录下安装 Webpack 及其相关工具: npm install webpack…...

光谱相机检测肉类新鲜度的原理

光谱相机通过分析肉类样本在特定波长范围内的光谱反射特性&#xff0c;结合化学与生物指标的变化规律&#xff0c;实现对其新鲜度的无损检测。其核心原理可概括为以下方面&#xff1a; 一、光谱特征与物质成分的关联性 ‌物质特异性吸收/反射‌ 不同化学成分&#xff08;如水分…...

【计算机网络】深入解析 HTTP 请求中的 header 类型:Cookie 的概念、特点和应用场景:登录和用户认证

网络原理— HTTP 请求“报头”(header) Cookie 是什么 HTTP报头中的Cookie&#xff0c;用大白话来说&#xff0c;就像你去餐厅吃饭时拿到的一张会员卡&#xff1a; 初次访问 (清除该网站的所有 Cookie 后重新访问该网站&#xff0c;效果相同)&#xff1a; 当你第一次访问一个网…...

红队OPSEC(安全运营)个人总结

OPSEC又称&#xff1a;运营安全&#xff0c;是指在红队的视角下&#xff0c;蓝队对我方的威胁。 OPSEC漏洞的五个流程&#xff1a; 关键信息识别&#xff1a;指红队的关键信息不泄露&#xff0c;包括但不限于红队的攻击意图&#xff0c;能力&#xff0c;人员&#xff0c;活动及…...

《Python基础教程》附录B笔记:Python参考手册

《Python基础教程》第1章笔记&#x1f449;https://blog.csdn.net/holeer/article/details/143052930 附录B Python参考手册 Python标准文档是完整的参考手册。本附录只是一个便利的速查表&#xff0c;当你开始使用Python进行编程后&#xff0c;它可帮助你唤醒记忆。 B.1 表…...

GWO-CNN-BiLSTM-Attention多变量多步时间序列预测 | Matlab实现灰狼算法优化卷积双向长短期记忆融合注意力机制

GWO-CNN-BiLSTM-Attention多变量多步时间序列预测 | Matlab实现灰狼算法优化卷积双向长短期记忆融合注意力机制 目录 GWO-CNN-BiLSTM-Attention多变量多步时间序列预测 | Matlab实现灰狼算法优化卷积双向长短期记忆融合注意力机制预测效果基本介绍程序设计参考资料 预测效果 基…...

Python实例:PyMuPDF实现PDF翻译,英文翻译为中文,并按段落创建中文PDF

基于PyMuPDF与百度翻译的PDF翻译处理系统开发:中文乱码解决方案与自动化排版实践 一 、功能预览:将英文翻译为中文后创建的PDF 二、完整代码 from reportlab.lib.pagesizes import letter from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle...

【数据结构】初识集合框架及背后的数据结构(简单了解)

目录 前言 如何学好数据结构 1. 什么是集合框架 2. 集合框架的重要性 3. 背后所涉及的数据结构以及算法 3.1 什么是数据结构 3.2 容器背后对应的数据结构 3.3 相关java知识 3.4 什么是算法 3.5 基本关系说明&#xff08;重要&#xff0c;简单了解&#xff09; 前言 …...

Go语言集成DeepSeek API和GoFly框架文本编辑器实现流式输出和对话(GoFly快速开发框架)

说明 本文是GoFly快速开发框架集成Go语言调用 DeepSeek API 插件&#xff0c;实现流式输出和对话功能。为了方便实现更多业务功能我们在Go服务端调用AI即DeepSeek接口&#xff0c;处理好业务后再用Gin框架实现流失流式输出到前端&#xff0c;前端使用fetch请求接收到流式的mar…...

ClickHouse 数据倾斜实战:案例分析与优化技巧

目录 ClickHouse 数据倾斜问题总结与优化措施 1. 分片键选得不好,埋下隐患 2. 数据本身就“偏心” 3. 查询习惯加剧失衡 4. 硬件差异“雪上加霜” 表现形式一览 优化措施:从根源到实践 优化分片键:让数据均匀“落户” 数据预处理:写入前先“理顺” 查询优化:别让…...

数据结构(蓝桥杯常考点)

数据结构 前言&#xff1a;这个是针对于蓝桥杯竞赛常考的数据结构内容&#xff0c;基础算法比如高精度这些会在下期给大家总结 数据结构 竞赛中&#xff0c;时间复杂度不能超过10的7次方&#xff08;1秒&#xff09;到10的8次方&#xff08;2秒&#xff09; 空间限制&#x…...

Flink之水印(watermark)的补充理解

水印&#xff08;Watermark&#xff09;‌&#xff1a;用于事件时间处理&#xff0c;标记数据流的进度&#xff0c;解决乱序和延迟问题&#xff0c;触发窗口计算‌ 一、Flink 水印的作用 处理乱序事件‌ 水印&#xff08;Watermark&#xff09;是 Flink 用于处理事件时间&…...