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

Web前端 Javascript笔记1

为什么学习 JavaScript?

JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:

  1. HTML 定义了网页的内容
  2. CSS 描述了网页的布局
  3. JavaScript 控制了网页的行为

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript是弱数据语言

JavaScript 用法

  • HTML 中的 Javascript 脚本代码必须位于 <script> 与 </script> 标签之间。
  • Javascript 脚本代码可被放置在 HTML 页面的 <body> 和 <head> 部分中

1、<head> 中的 JavaScript 函数 

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
}
</script>
</head>
<body>
<h1>我的 Web 页面</h1>
<p id="demo">一个段落</p>
<button type="button" onclick="myFunction()">尝试一下</button>
</body>
</html>

2、<body> 中的 JavaScript 函数

<!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><script>//表达式,表达式最后都会算出一个值//语句</script>
</body>
</html>

3、 外部的 JavaScript

可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

外部 JavaScript 文件的文件扩展名是 .js

<!DOCTYPE html>
<html>
<body>
<script src="xxx.js"></script>
</body>
</html>

JavaScript 输出

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。
  • 括号里面可以识别html的标签

window.alert() ,window可以忽略不写 

<!DOCTYPE html>
<html>
<body>
<h1>我的第一个页面</h1><p>我的第一个段落。</p><script>window.alert(5 + 6);
</script></body>
</html>

 document.write() 

<!DOCTYPE html><html>
<body><h1>我的第一个 Web 页面</h1><p>我的第一个段落。</p><script>document.write(Date());
</script></body>
</html>

innerHTML

<!DOCTYPE html><html>
<body><h1>我的第一个 Web 页面</h1><p id="demo">我的第一个段落</p><script>document.getElementById("demo").innerHTML = "段落已修改。";
</script></body>
</html>

console.log() 

<!DOCTYPE html>
<html>
<body>
<h1>我的第一个 Web 页面</h1>
<script>
let c=5;
console.log(c);
</script></body>
</html>

 JavaScript 注释

单行注释是以"//"开头的句子

多行注释以 /* 开始,以 */ 结尾。

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>//我是JavaScript注释/*多行注释多行注释多行注释*/</script><!--我是一般网页注释--></body>
</html>

JavaScript 字母大小写

JavaScript 对大小写是敏感的。

当编写 JavaScript 语句时,请留意是否关闭大小写切换键。

函数 getElementById 与 getElementbyID 是不同的。

同样,变量 myVariable 与 MyVariable 也是不同的


JavaScript声明变量

表达式,表达式最后都会算出一个值

JavaScript 使用关键字 var/let 来定义变量, 使用等号来为变量赋值

变量赋值:let /var 变量名=值 

var允许重复声明,而let不允许重复声明,基于let等重新声明就会报错

  • let声明的变量不可以在声明之前进行使用,但是var可以,这是不合理的,不合适由上至下运行代码
  • var存在变量提升的问题
  • var不存在块级作用域

let的出现是为了解决var的问题

console.log(1)  // => 这行代码就已经不会执行了
let a = 12
console.log(a)
let a = 13      // => 此行出错:SyntaxError: Identifier 'a' has already been declared
console.log(a)
console.log(a)
let a = 13
var a = 12  // => SyntaxError: Identifier 'a' has already been declared
console.log(a)

JavaScript 变量(存储数据的容器)

JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。

变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

int a=123   a是容器,123是数据 

  • 命名里具有数字、字母、下划线 $,不以数字开头
  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)
  • 不能使用关键字保留字
  • js严格区分字母的大小写,html不区分大小写

  • 起名最好具有意义的

    遵循小驼峰命名法:findAgeByNmae

JavaScript 数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。

引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。

  • 其中NaN较为特殊,js规定它与任何数据比较均为false,包括其本身 
console.log(NaN == NaN) // false
console.log(NaN == 1) // false
  •  typeof()判断数据类型
  • 引用类型可以看作是数组啊什么的,与+运算符基本一致,需注意当与引用类型+时是看做字符串的拼接,但是-运算符只会视为计算,故与引用类型-时,只会返回NaN

JavaScript可以用强制类型转换 

1、隐式转换:

当运算符两端的数据类型不一致,会触发隐式转换

①、有字符串的时候:

console.log("22"+11) //2211      若是加号两边有一边是字符串,加号会把其他数据类型变成字符串

console.log("21"-11) //10       除了加号,其余其余运算符会把字符串转换成数字类型

②、没有字符串的时候:

非Number数据先调用Number()转成数字 再进行运算

Boolean中true为1,false为0

Null强制转换后为0

console.log(1 + true) // 2        console.log(1 + null) // 1

console.log(1 + false) // 1        console.log(1 + undefined) // NaN

2、显示转换

1、Number()

Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN

console.log(Number("345678pp"))//NaN
console.log(Number("345678"))//345678

如果该值无法转换为合法数字,则返回 NaN 

 console.log(true)//1console.log(False)//0console.log(new Date())//1712857336953console.log( "999")//999console.log( "999 888")//NaN

2、parseInt():

  • 如果第一个字符是数字,会解析直到遇到非数字结束
  • 如果第一个字符不是数字或者符号就返回NaN.
  • 允许前导和尾随空格。
console.log(parseInt("345678upp"))//345678
console.log(parseInt("upp3"))//NaN

 如果字符串以 "0x" 开头,则基数为 16(十六进制)

  • 如果字符串以 "0" 开头,则基数为 8(八进制)。此特性已弃用
var a = parseInt("10") + "<br>";//10var b = parseInt("10.00") + "<br>";//10var c = parseInt("10.33") + "<br>";//10var d = parseInt("34 45 66") + "<br>";//34var e = parseInt("   60   ") + "<br>";//60var f = parseInt("40 years") + "<br>";//40var g = parseInt("He was 40") + "<br>";//NaNvar h = parseInt("10", 10)+ "<br>";//10var i = parseInt("010")+ "<br>";//10var j = parseInt("10", 8)+ "<br>";//8var k = parseInt("0x10")+ "<br>";//16var l = parseInt("10", 16)+ "<br>";//16

 3、parseFloat() 

  • 此函数确定指定字符串中的第一个字符是否为数字。如果是,它会解析字符串直到到达数字的末尾,并将数字作为数字而不是字符串返回。
  • 注释:如果第一个字符不能转换为数字,parseFloat() 返回 NaN。
  • 允许前导和尾随空格。

console.log(parseFloat("10"))//10
console.log(parseFloat("10。00"))//10
console.log(parseFloat("10.33"))//10.33
console.log(parseFloat("34 45 66"))//34
console.log(parseFloat("   60   "))//60
console.log(parseFloat("40 years"))//40
console.log(parseFloat("He was 40 "))//NaNconsole.log(parseFloat(8))//8

 4、字符串转化

String()

String(Boolean(0))//false
String(Boolean(1))//true
String(new Date())//Fri Apr 12 2024 01:48:15 GMT+0800 (中国标准时间)
string("12345")//12345
string (1234)//1234

toString()

变量.toString(进制)

let num = 15;
console.log(num.toString())//15

 不同进制

var num = 15;
var a = num.toString();//15
var b = num.toString(2);//1111
var c = num.toString(8);17
var d = num.toString(16);//f

js d的符号 

算数运算符: + - * / %
赋值运算符: += -= *= /= %= 

比较运算符:< > <= >= == === !==

2=="2" true,只会判断值是否相同
2==="2" false 会判断数据类型与值是否会相同

=== 判断两边数据是否全等,即数据类型与值均相等,而隐式转换是在两者数据类型不同时才触发的。而 == 只判断是否相等

console.log([] == []) // false,返回false,因为引用数据类型比较的是地址
console.log([] == {}) // false
console.log([] == true) // false
console.log([1,2] == "1,2") // true
console.log([1] == 1) // true

String 中的内容为字母、符号等编码

若为等长字母

console.log("a" > "b") // false

若为不等长字母,比较同位置字母大小,根据ACSII码直至做出判断

console.log("ab" > "b") // false
console.log("abc" > "abb") // true

符号同理,都是根据ACSII码进行判断

console.log(":" > "?")//false

一元运算符:

i++   赋值运算符的优先级大于,先赋值运算,
++i  前加加>赋值运算符,先加加

let a=2
let k=a++
console.log(a,k)
let j=++k
console.log(k,j)

运行结果:

3   2

3   3 

逻辑运算符:&& || !


JavaScript流程控制

  //顺序、选择,循环

        //顺序:代码自上而下,从左到右

        //选择(分支):面对不同条件,来执行不同的代码

        //条件只要最终返回的是布尔值就好了       

1、条件选择

//if(条件){

            //满足条件时所执行的代码

        //}

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>let age = Number(prompt("enter the age="))if(age>=18){console.log("adault!!!!")document.write("adault!!!!")}else{document.write("<h1>unadault!!!!</h1>")}</script>
</body>
</html>

 多条件

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>let t = Number(prompt("enter the time="))if(t<=4 &&t>=0){document.write(`现在是凌晨${t}点`)}else if(t>4 &&t<=11){document.write(`现在是上午${t}点`)}else if(t>11 &&t<=13){document.write(`现在是中午${t}点`)}else if(t>13 &&t<=17){document.write(`现在是下午${t}点`)}else{document.write(`现在是晚上${t}点`)}</script>
</body>

 //三目运算符:条件?满足条件时执行的的代码:不满足条件时执行的代码 

   <script>//let a=21//age>18?document.write("成年了"):document.write("未成年")let shu = Number(prompt("enter the time="))shu>10?document.write(`${shu}`):alert("0"+shu)</script>

练习 

    <script>let y=Number(prompt("请输入年份以此判断是闰年还是平年="))if((y%4==0 &&y%100!=0)|| y%400==0){document.write(`<h1>佳人们${y}是闰年!!</h1>`)}else{document.write(`<h1>佳人们${y}是平年!!</h1>`)}</script>

2、循环

 while循环

       /* let i=0
         while(i<=10){//终止条件
             //初始值变化
            document.write(i)
             i++
         }*/

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>let sum=0let i=0while (i<=100){sum+=ii++}document.write(sum)let s=0//打印偶数和let j=0while(j<=100){if(j%2==0){s+=j}else{continue}j=j+1}document.write("<br/>"+s)//break,continue</script>
</body>
</html>

for循环

    //for(声明临时变量;循环条件;变化值{

        //}

        // for(let i=1;i<=100;i++){

        //     document.write("-"+2)

        // }

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>s=0for(let i=1;i<=100;i++){if(i%2===0){s+=i}}</script>
</body>
</html>

do while 语句 

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><script>let i=1do{document.write("hello jjss")i++}while(i<1)</script>
</body>
</html>

嵌套循环
九九乘法表:

<!DOCTYPE html>
<head><meta charset="UTF-8"><title>Document</title><style>span{text-align: center;height: 50px;width: 100px;line-height: 50px;background-color: pink;border-radius: 10px;display: inline-block;margin: 2px;}</style>
</head>
<body><script>for(let i=1;i<=9;i++){for(let j=1;j<=i;j++){document.write(`<span>${j}*${i}=${j*i}</span>`)}document.write("<br/>")}}</script></body>
</html>

3、switch语句

switch(n)
{case 1:执行代码块 1break;case 2:执行代码块 2break;default:与 case 1 和 case 2 不同时执行的代码
}
var d=new Date().getDay();
switch (d)
{case 6:x="今天是星期六";break;case 0:x="今天是星期日";break;default:x="期待周末";
}
document.getElementById("demo").innerHTML=x;

相关文章:

Web前端 Javascript笔记1

为什么学习 JavaScript? JavaScript 是 web 开发人员必须学习的 3 门语言中的一门&#xff1a; HTML 定义了网页的内容CSS 描述了网页的布局JavaScript 控制了网页的行为 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面后&#xff0c;可由所有的现代浏…...

Git回滚版本并push到远端master

1、查看日志 git log 2、还原最近的版本 () --git reset --hard commit-id 如&#xff1a;git reset --hard d84da14bf2743683eca7a015f56114faaa344f42 3、覆盖分支版本 git push -f origin dev 回滚本地master完成后&#xff0c;将回滚后的代码push到远端master&#xf…...

MAC: 自己制作https的ssl证书(自己签发免费ssl证书)(OPENSSL生成SSL自签证书)

MAC: 自己制作https的ssl证书(自己签发免费ssl证书)(OPENSSL生成SSL自签证书) 前言 现在https大行其道, ssl又是必不可少的环节. 今天就教大家用开源工具openssl自己生成ssl证书的文件和私钥 环境 MAC电脑 openssl工具自行搜索安装 正文 1、终端执行命令 //生成rsa私钥&…...

mac配置Jmeter环境

mac配置Jmeter环境 一、安装jmeter二、Jmeter目录结构三、汉化Jmeter四、改变主题外观五、jmeter安装第三方插件六、jmeter基础入门案例 一、安装jmeter 第一步先自行配置好电脑的jdk环境 1、官网下载jar包 https://jmeter.apache.org/download_jmeter.cgi 2、解压到软件你自己…...

Linux虚拟化————KVM

1、安装kvm虚拟化套件 [rootbogon ~]# yum -y install virt* 2、启动服务 [rootbogon ~]# systemctl start libvirtd [rootbogon ~]# systemctl status libvirtd ● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; di…...

【b站李同学的Lee】Part 2 模块化开发 NodeJS+Gulp基础入门+实战

课程地址&#xff1a;【NodeJSGulp基础入门实战】 https://www.bilibili.com/video/BV1aE411n737/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 4 Node.js模块化开发 4.1 JavaScript开发弊端 4.1.1 文件依赖 4.1.2 命名冲突 4.2 生活中的…...

AI大模型日报#0415:贾佳亚团队新作王炸、马斯克首款多模态大模型、ChatGPT to B

导读&#xff1a; 欢迎阅读《AI大模型日报》&#xff0c;内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 融合ChatGPTDALLE3&#xff0c;贾佳亚团队新作开源&#xff1a;识图推理生图一站解决 摘要: 贾佳亚团队推出了多模态模型Mini-Gem…...

基于GRU实现评论文本情感分析

一、问题建模 在线评论的细粒度情感分析对于深刻理解商家和用户、挖掘用户情感等方面有至关重要的价值&#xff0c;并且在互联网行业有极其广泛的应用&#xff0c;主要用于个性化推荐、智能搜索、产品反馈、业务安全等。此博文&#xff0c;共包含6大类20个细粒度要素的情感倾…...

【C 数据结构】线性表

文章目录 【 1. 线性表 】【 2. 顺序存储结构、链式存储结构 】【 3. 前驱、后继 】 【 1. 线性表 】 线性表&#xff0c;全名为线性存储结构&#xff0c;线性表结构存储的数据往往是可以依次排列的&#xff08;不考虑数值大小顺序&#xff09;。 例如&#xff0c;存储类似 {1…...

C++初级----list(STL)

1、 list介绍 1.1、 list介绍 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 1. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向 其前一…...

web安全学习笔记(9)

记一下第十三课的内容。 准备工作&#xff1a;在根目录下创建template目录&#xff0c;将login.html放入其中&#xff0c;在该目录下新建一个reg.html。在根目录下创建一个function.php 一、函数声明与传参 PHP中的函数定义和其他语言基本上是相同的。我们编辑function.php …...

【Python-基础】字符串合集

字符串格式化 f # 例如: # f{train_path}/{f}: 将train_path字符串和f字符串结合 # f{root}.csv:将root字符串和.csv字符串结合判断字符串是否以…结尾 root.endswith(".csv") # True未待完续…...

Scala之List

列表 不可变列表(List) 在Scala中&#xff0c;通过List来定义不可变列表&#xff0c;需要注意的是&#xff0c;List本身是一个抽象类&#xff0c;所以并不能直接使用List来构建对象&#xff0c;需要使用它的伴生对象来构建 package com.fesco.listimport scala.::object ListD…...

Springboot+Vue项目-基于Java+MySQL的在线视频教育平台系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…...

Java IO流-字节流

简介 IO流的输入与输出&#xff0c;都在站在内存的角度来看的&#xff0c;因为毕竟是和内促你打交道的嘛&#xff01; 分类 IO流是可以根据方向&#xff0c;或者最小单位进行划分的 上述两两结合一下&#xff0c;就得到四种大的分类 IO流的继承体系 字节输入流InputStream 创建…...

第十五届蓝桥杯复盘python大学A组——试题B 召唤数学精灵

按照正常思路解决&#xff0c;由于累乘消耗大量时间&#xff0c;因此这不是一个明智的解决方案。 这段代码执行速度非常慢的原因在于它试图计算非常大的数的阶乘&#xff08;累乘&#xff09;&#xff0c;并且对于每一个i的值都执行这个计算。阶乘的增长是极其迅速的&#xff…...

网络通信——常见结构及强联网游戏和弱联网游戏区别

声明&#xff1a;本文为个人笔记&#xff0c;用于学习研究使用非商用&#xff0c;内容为个人研究及综合整理所得&#xff0c;若有违规&#xff0c;请联系&#xff0c;违规必改。 网络通信——常见结构及强联网游戏和弱联网游戏区别 文章目录 网络通信——常见结构及强联网游戏和…...

如何安装PyFluent

0.什么是PyFluent? 官方介绍如下&#xff1a; PyFluent 是 PyAnsys 生态系统的一部分&#xff0c; 允许您在所选的 Python 环境中结合使用 Fluent 与其他 PyAnsys 库和外部 Python 库一起使用。 PyFluent 实现了客户端-服务器体系结构。它使用谷歌遥控器 过程调用或 gRPC 接…...

Qt 2 QMapQHashQVector类实例

1. QMap // 1:QMap的使用// 创建一个QMap 实例 key 为 QString value 为 intQMap<QString,int> Grade;// 插入方式有两种插入方式// 1.map[key] valueGrade["语文"] 90;Grade["数学"] 120;// 2.map.insert(key,value);Grade.insert("英语&qu…...

使用Git将文件夹上传到Github以及使用Git LFS上传大文件

使用Git将文件夹上传到Github以及使用Git LFS上传大文件...

1.SCI各模块

1.学会“抄” 写论文&#xff0c;一定要学会“抄”&#xff01;这样才能事半功倍&#xff0c;尤其是对于初次写作的新手&#xff0c;否则写作过程一定会让你痛不欲生&#xff0c;而且写出来的东西就是一坨shi&#xff0c;不仅折磨自己&#xff0c;也折磨导师。 写论文与建大楼…...

记录shell编程中$1,$@等符号的含义

笔者最近老是遇到shell中的$相关的题目&#xff0c;于是打算写篇文章记录一下。考虑到并没有特别多需要解释的内容&#xff0c;所以并不会进行介绍&#xff0c;上图上表上代码&#xff0c;让机器说话&#xff0c;machine always right test.sh #/bin/bash echo $# $# echo …...

单链表的应用

文章目录 目录1. 单链表经典算法OJ题目1.1 [移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/description/)1.2 [链表的中间节点](https://leetcode.cn/problems/middle-of-the-linked-list/description/)1.3 [反转链表](https://leetcode.cn/problem…...

手机副业赚钱秘籍:让你的手机变成赚钱利器

当今社会&#xff0c;智能手机已然成为我们生活不可或缺的一部分。随着技术的飞速进步&#xff0c;手机不再仅仅是通讯工具&#xff0c;而是化身为生活伴侣与工作助手。在这个信息爆炸的时代&#xff0c;我们时常会被一种焦虑感所困扰&#xff1a;如何能让手机超越消磨时光的定…...

(二十七)Flask之数据库连接池DBUtils库

目录: 每篇前言:DBUtils库模式一(底层使用threading.local实现):模式二:Flask中使用方式一:直接将DBUtils初始化放到settings.py文件中方式二:从utils文件夹中导入脚本使用DBUtils代码demo:每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心…...

FewShotPromptTemplate和SemanticSimilarityExampleSelector的学习

FewShotPromptTemplate 和 SemanticSimilarityExampleSelector 是在少样本学习&#xff08;FewShot Learning&#xff09;场景中常用的两种技术&#xff0c;它们在提高模型泛化能力和减少对大量标注数据的依赖方面扮演着重要角色。 下面我会解释它们之间的关系&#xff1a; F…...

【保姆级】2024年OnlyFans订阅指南

OnlyFans是一个独特的社交媒体平台&#xff0c;它为创作者和粉丝提供了一个互动交流的空间。通过这个平台&#xff0c;创作者可以分享他们的独家内容&#xff0c;而粉丝则可以通过订阅来支持和享受这些内容。如果你对OnlyFans感兴趣&#xff0c;并希望成为其中的一员&#xff0…...

深入理解JVM中的G1垃圾收集器原理、过程和参数配置

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;垃圾收集&#xff08;GC&#xff09;是一个自动管理内存的过程&#xff…...

VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)

需求&#xff1a; 产品要求权限树形结构添加外部复选框进行全部展开或收起&#xff1b;全选或不全选。 实现步骤&#xff1a; tree组件部分&#xff1a; <div class"role-handle"><div>权限选择(可多选)</div><div><el-checkbox v-mode…...

【Godot4自学手册】第三十七节钥匙控制开门

有些日子没有更新了&#xff0c;实在是琐事缠身啊&#xff0c;今天继续开始自学Godot4&#xff0c;继续完善地宫相关功能&#xff0c;在地宫中安装第二道门&#xff0c;只有主人公拿到钥匙才能开启这扇门&#xff0c;所以我们在合适位置放置一个宝箱&#xff0c;主人公开启宝箱…...

余姚网站建设哪家好/seo网页优化公司

信号量信号量信号量的同步与互斥实现信号量与条件变量实现同步的区别&#xff1a;信号量的接口函数&#xff1a;信号量如何实现同步与互斥信号量实现同步信号量实现互斥使用信号量实现生产者与消费者模型(代码实现&#xff09;信号量 信号量的同步与互斥实现 作用&#xff1a…...

采集做网站/佛山百度推广公司

一、简介 vim 是 Linux 下常使用的一款文本编辑器。如果你是初识 vim 的话&#xff0c;一定会对其五花八门的快捷键和命令感到头晕。 所以&#xff0c;这里介绍一些 vim 下使用频率较高的命令&#xff0c;掌握这些基本也够&#xff0c;至于其它更多的命令介绍&#xff0c;以后还…...

做网站建设公司赚钱吗/广东深圳疫情最新消息今天

2019独角兽企业重金招聘Python工程师标准>>> 历经重重考验&#xff0c;系统在生产环境中成功落地之后&#xff0c;可能依然面临系统无法适用大规模应用的挑战&#xff0c;因此我们需要对K8s集群的关键指标进行追踪。Rancher 资深解决方案架构师将在本文中介绍需要追…...

六灶网站建设/自己做seo网站推广

第一、打开&#xff23;&#xff2d;&#xff24;窗口右击 第二第三、重启电脑。...

域名制作网站吗/大数据营销经典案例

支持自定义头像&#xff0c;用记事本写完蹦出来40个错误然后一点点解决真真是找虐&#xff0c;该用Eclipse了。 java写界面真真是能让人疯掉、、<span style"font-size:18px;">import java.io.File ; import java.awt.event.ActionListener ; import java.awt.…...

广东做网站策划/金华网站推广

前言 最近跟朋友组了个局&#xff0c;一起学习framework相关的源码。学习源码&#xff0c;首先就是要下载&#xff0c;编译源码啦。恰巧Android10的源码在本周刚刚发布&#xff0c;所以索性就拿它来进行framework的研究学习 因为我目前使用的是Mac的本子&#xff0c;但是在Mac…...