JavaScript--js基础(详细 全面)

目录

前言:

JavaScript 是什么?JavaScript 简介

1.JavaScript历史

2.JavaScript 具有以下特点

第一个JavaScript程序

1.在脚本文件中编写JavaScript代码

2.JavaScript代码执行顺序

 基本语法

1.变量

2.数据类型

3.算术运算符

 4.赋值运算

5.字符串运算符

6.自增,自减运算符

7.比较运算符

8.逻辑运算符

 9.条件运算符

10.控制语句

选择结构

程序控制结构是循环结构

函数

1.定义函数

2.函数调用

3.全局函数

事件

 内置对象

1.String字符串

2.Array数组

3.Date

4.Math 

Html DOM

1.查找元素

2.改变HTML

3.改变 CSS

 计时


前言:

JavaScript是一种广泛应用于网页开发的脚本语言,它能够使网页变得更加动态和交互性。作为一种客户端脚本语言JavaScript可以被嵌入到HTML中,并且可以被所有现代的网页浏览器支持。

JavaScript的强大之处在于它能够让开发者们通过编写一些简单的代码,就能够实现许多复杂的功能。无论是实现页面元素的动态变化,响应用户的交互操作,还是处理表单提交数据,JavaScript都能够胜任。

本文旨在介绍和学习JavaScript的基础知识。通过本文的阅读,读者将能够了解JavaScript在网页开发中的重要性和作用,掌握其基础语法和概念。不论是初学者还是有一定经验的开发者,都可以通过本文来加深对JavaScript的理解,并提升自己的开发能力。希望读者能够从中获得有益的知识,为日后的学习和实践打下坚实基础。愿读者在学习JavaScript的过程中不断成长,探索更多可能性

作者建议:学习知识在于深度理解,多动手、多动脑,总能更快地领悟。不要仅仅停留在阅读代码的层面,亲自动手敲打一遍,会带来更丰富的收获。通过实践,我们能够更深入地理解知识,掌握技能,并且在解决问题时更加得心应手。相信自己的能力,坚持不懈地实践,你将会取得更大的进步和成就。让学习成为一种习惯,让动手实践成为你提升的捷径,加油!你是最棒的!

JavaScript 是什么?JavaScript 简介

JavaScript(简称Js)是当前最流行,应用最广泛的客户端(网页)脚本语言,用来在网页中添加动态效果交互功能,在web开发中拥有举足轻重的地位.

JavaScript,HTML,CSS共同构成网页

  • HTML:用来定义网页内容,例如:标题,正文,图像等(HTML是网页制作的基础语言---->跳转学习:HTML);
  • CSS:用来修饰网页组件得外观,例如:颜色,大小,位置,背景等等(CSS是网页制作的修饰语言--->跳转学习:CSS)
  • JavaScript:用来实时更新网页内容,例如:从服务器中获取数据并更新到网页中,修改某些标签的样式内容,可以让网页变得生动.

1.JavaScript历史

JavaScript原名:LiveScript 是由美国网景(Netscape Communications Corporation)开发的一种用于对网页操作的脚本语言,LiveScript也是面向对象的.后来sun公司与网景合作更名为JavaScript.

脚本语言:无需编译,可以由某种解释器直接执行 (sql python html css JavaScript) 直接由某种解释器(引擎)解释执行,逐行从上到下解释执行.

JavaScript和java完全是二种不同的语言

区别

  1. JavaScript是嵌入在网页中,对网页进行各种操作的,是一种脚本语言
  2. java是一种后端的高级语言,是需要编译的

2.JavaScript 具有以下特点

1) 解释型脚本语言
JavaScript 是一种解释型脚本语言,与 C、C++ 等语言需要先编译再运行不同,使用 JavaScript 编写的代码不需要编译,可以直接运行。
2) 面向对象
JavaScript 是一种面向对象语言,使用 JavaScript 不仅可以创建对象,也能操作使用已有的对象。
3) 弱类型
JavaScript 是一种弱类型的编程语言,对使用的数据类型没有严格的要求,例如您可以将一个变量初始化为任意类型,也可以随时改变这个变量的类型。
4) 动态性
JavaScript 是一种采用事件驱动的脚本语言,它不需要借助 Web 服务器就可以对用户的输入做出响应,例如我们在访问一个网页时,通过鼠标在网页中进行点击或滚动窗口时,通过 JavaScript 可以直接对这些事件做出响应。
5) 跨平台
JavaScript 不依赖操作系统,在浏览器中就可以运行。因此一个 JavaScript 脚本在编写完成后可以在任意系统上运行,只需要系统上的浏览器支持 JavaScript 即可。

第一个JavaScript程序

JavaScript程序不能独立运行,只能在宿主环境中执行.一般情况下可以吧JavaScript代码放在网页中,借助浏览器环境来运行.

在HTML文档嵌入JavaScript代码

在HTML页面中嵌入JavaScript脚本需要使用<script>标签,我们可以在<script>标签中编写JavaScript代码,具体步骤如下:

  1. 新建HTML文档(一般都直接使用编译工具直接生成HTML文档--->推荐使用:HBuilderX文档)
  2. 在<head>标签或者<body>标签中插入<script>标签
  3. 在<script>标签中写JavaScript代码

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>// JavaScript代码写的地方alert("你好 JavaScript")</script></head><body></body>
</html>

注:alert(‘welcome!’); 提示对话框

效果图:

1.在脚本文件中编写JavaScript代码

JavaScript代码不仅可以放在HTML文档中也可以放在JavaScript脚本文件中.JavaScript脚本文件,扩展名是.js,使用任何文本编辑器都可以编辑(本博客以HBuilderX文档为示例)

具体步骤如下:

1.新建.js文本.

2.打开文本编写JavaScript文本

alert("你好");

3.保存JavaScript文件,并连接HTML文档

<script type="text/javascript" src="test.js"></script>

4.运行HTML文档

:定义 src 属性的<script><script> 标签不应再包含 JavaScript 代码。如果嵌入了代码,则只会下载并执行外部 JavaScript 文件,嵌入代码将被忽略。

2.JavaScript代码执行顺序

JavaScript代码可以写在HTML文档<head>标签与<body>标签中,写在不同标签中的执行顺序不同

示例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>alert("写在<head>标签中");</script></head><body><script>alert("写在<body>标签中");</script></body>
</html>

效果图

由效果图我们就可以看出,在HTML文档中先执行在<head>标签中的JavaScript代码后执行<body>标签中的代码 

 基本语法

1.变量

声明变量用var关键字

     var  name;

声明变量的同时对其赋值

    var  name = "小明";

2.数据类型

  1. 数值型(number):其中包括整型数浮点型数.
  2. 布尔型(boolean):逻辑值,true或false
  3. 字符串型:有单个或者多个字符组成的.字符串使用单引号或者双引号来说明的.
  4. undefined类型:变量没用赋值的情况下默认类型,值为undefined.
  5. Object类型

3.算术运算符

算数运算符用来执行常见的数学运算,例如加法、减法、乘法、除法等,下表中列举了 JavaScript 中支持的算术运算符:

var x = 10;
var y = 4;
console.log("x + y =", x + y);  // 输出:x + y = 14
console.log("x - y =", x - y);  // 输出:x - y = 6
console.log("x * y =", x * y);  // 输出:x * y = 40
console.log("x / y =", x / y);  // 输出:x / y = 2.5
console.log("x % y =", x % y);  // 输出:x % y = 2

注:在JavaScript中的不同

			var a = "10";var b = 5;var c = 10;var d = "a";// + 字符串连接   加法运算// alert(c-b);  减法// alert(a-b); // 5  "字符串(数字)" - 数值  = 数值  会把表达式中的数字 字符串尝试类型转换// alert(d-c);  //  NaN  字符串不能转换为数值返回NaN// alert(a==c); ture  只比较值是否相等// alert(a===c); false 全等 比较值和类型

 4.赋值运算

赋值运算符用来为变量赋值,下表中列举了 JavaScript 中支持的赋值运算符:

代码示例:

var x = 10;
x += 20;
console.log(x);  // 输出:30
var x = 12,y = 7;
x -= y;
console.log(x);  // 输出:5
x = 5;
x *= 25;
console.log(x);  // 输出:125
x = 50;
x /= 10;
console.log(x);  // 输出:5
x = 100;
x %= 15;
console.log(x);  // 输出:10

5.字符串运算符

JavaScript 中的 + 和 += 运算符除了可以进行数学运算外,还可以用来拼接字符串,其中:

  1. +运算符表示将运算符左右两侧的字符串拼接到一起;
  2. +=运算符表示将字符串进行拼接,并重写赋值
var x = "Hello ";
var y = "World!";
var z = x + y;
console.log(z);  // 输出:Hello World!
x += y;
console.log(x);  // 输出:Hello World!

6.自增,自减运算符

自增、自减运算符用来对变量的值进行自增(+1)、自减(-1)操作

代码示例:

var x;
x = 10;
console.log(++x);  // 输出:11
console.log(x);    // 输出:11
x = 10;
console.log(x++);  // 输出:10
console.log(x);    // 输出:11
x = 10;
console.log(--x);  // 输出:9
console.log(x);    // 输出:9
x = 10;
console.log(x--);  // 输出:10
console.log(x);    // 输出:9

7.比较运算符

比较运算符会比较左右两侧的数据,最后返回一个布尔值(true或者false)

 代码示例

var x = 25;
var y = 35;
var z = "25";
console.log(x == z);  // 输出: true
console.log(x === z); // 输出: false
console.log(x != y);  // 输出: true
console.log(x !== z); // 输出: true
console.log(x < y);   // 输出: true
console.log(x > y);   // 输出: false
console.log(x <= y);  // 输出: true
console.log(x >= y);  // 输出: false

8.逻辑运算符

逻辑运算符通常来组合多个表达式,逻辑运算符的运算是一个布尔值(true/false)

代码示例:

var year = 2021;
// 闰年可以被 400 整除,也可以被 4 整除,但不能被 100 整除
if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){console.log(year + " 年是闰年。");
} else{console.log(year + " 年是平年。");
}

 9.条件运算符

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符

语法:

      var result = (条件表达式)?结果1:结果2

当条件成立返回?后的内容,否则返回:后的内容

代码示例:

			var c = 1;var b = 2;var a = c > b ? c : b; // a = b;

10.控制语句

选择结构

1.单一选择结构(if)

2.二路选择结构(if/else)

3.多路选择结构(switch)

程序控制结构是循环结构

1.由计数器控制的循环(for)

2.在循环的开头测试表达式(while)

3.在循环的末尾测试表达式(do/while)

4.break continue

JavaScript中的选择结构和其他语言是相通的也是一样的.

如果你是第一次学习编程语言:学习推荐路径

函数

1.定义函数

函数定义的基本语法:

function functionName([arguments]){

javascript statements;

[return expression]

}

function: 表示函数定义的关键字;

functionName:表示函数名;

arguments:表示传递给函数的参数列表,各个参数之间用逗号隔开,可以为空;

statements: 表示实现函数功能的函数体;

return expression:表示函数将返回expression的值,同样是可选的的语句。

代码示例:

sayHello---->函数名

name--->参数

alert("Hello " + name);--->函数体

return 0;---->返回值

function sayHello(name){alert("Hello " + name);return 0;
}

2.函数调用

函数调用:

1.在<script>标签中直接调用

2.在其他函数中调用

3.通过组件

代码演示:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function test(text){alert(text);}test("函数在<script>标签中调用");function a(){test("函数在其他函数中调用");}a();</script></head><body><input type="button" value="测试" onclick="test('组件调用函数')"/></body>
</html>

效果演示:

 

3.全局函数

1.parseInt(arg) 把括号内的内容转换成整数之后的值。如果括号内是字符串, 则字符串开头的数字分被转换成整数,如果以字母开头,则返回 “NaN”

2.parseFloat(arg) 把括号内的字符串转换成浮点数之后的值,字符串开头的数字部分被转换成浮点数,如果以字母开头,则返回“NaN”

3.typeof (arg)返回arg值的数据类型

4.eval(arg) 可运算某个字符串

5.alert(String) 可以在浏览器中弹出一个提示框,里面的内容是String

6.console.log(String)在控制面板上打印String

事件

JS 事件(event)是当用户与网页进行交互时发生的事情,例如单击某个链接或按钮,在文本框中输入文本、按下键盘上的某个按键、移动鼠标等等。当事件发生时,您可以使用 JavaScript 中的事件处理程序(也可称为事件监听器)来检测并执行某些特定的程序

常用事件:

onclick()鼠标点击时

onblur()标签失去焦点

onfocus()标签获得焦点

onmouseover()鼠标被移到某标签之上

onmouseout鼠标从某标签移开

onload()是在网页加载完毕后触发相应的的事件处理程序

onchange()是指当前标签失去焦点并且标签的内容发生改变时触发事件处理程序

代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="div" style=""><!-- 点击事件 -->onclick:<input type="button" value="onclick" onclick="test('pink')" /><br /><!-- onblur()标签失去焦点 -->onblur:<input type="text" onblur="test('red')" /><br /><!--  onfocus()标签获得焦点-->onfocus:<input type="text" onfocus="test('blue')"/><br /><!-- onmouseover()鼠标被移到某标签之上 -->onmouseover:<input type="text" onmouseover = "test('black')"/><br /><!--  onmouseout鼠标从某标签移开-->onmouseout:<input type="text" onmouseout = "test('aqua')"/><br /><!-- onchange()是指当前标签失去焦点并且标签的内容发生改变时触发事件处理程序 -->onchange:<input type="text" onchange = "test('yellow')"/></div><script>var obj = document.getElementById("div");function test(color) {obj.style.backgroundColor = color;}</script></body>
</html>

效果显示:

 内置对象

1.String字符串

属性

length 用法:返回该字符串的长度.

方法

  1. charAt(n):返回该字符串位于第n位的单个字符.
  2. indexOf(char):返回指定char首次出现的位置.
  3. lastIndexOf(char) :跟 indexOf() 相似,不过是从后边开始找.
  4. substring(start,end) :返回原字符串的子字符串,该字符串是原字符串从start位 置到end位置的前一位置的一段.
  5. substr(start,length) :返回原字符串的子字符串,该字符串是原字符串从start位 置开始,长度为length的一段.
  6. split(分隔符字符) :返回一个数组,该数组是从字符串对象中分离开来的,决定了分离的地方,它本身不会包含在所返回的数组中。
			var string = new String("String字符串r2323");console.log(string.charAt(2));  // 打印结果是:econsole.log(string.indexOf('r'));//打印结果是:3console.log(string.lastIndexOf('r')); //打印结果是:9console.log(string.substring(2,5)); // 打印结果是:rinconsole.log(string.substr(2,3));//打印结果是:rinconsole.log(string.split('r'));//打印结果是:一个数组:'st' 'ing字符串' '2323'

2.Array数组

数组是值的有序集合,数组中的每个值称为一个元素,每个元素在数组中都有一个数字位置,称为索引,索引从 0 开始,依次递增。在 JavaScript 中,您可以使用 Array 对象定义数组,此外,Array 对象中还提供了各种有关数组的属性和方法。

创建 Array 对象的语法格式如下:

 var = new Array();

这样就定义了一个空数组。以后要添加数组元素,就用:

          [下标] = 值;

如果想在定义数组的时候直接初始化数据,请用:

var = new Array(, , ...);

还可以 var = [, , ...];

    var a = new Array();a[0] = 1;a[1] = "aaa";a[5] = true;var b = new Array(1,2,3,4,5);var a = [1,2,3,4,5];a[5] = 3;

属性

length :数组的长度,即数组里有多少个元素.

方法

join() :返回一个字符串,该字符串把数组中的各个元素串起来,用置于元素与元素之间。

reverse() 使数组中的元素顺序反过来。如果对数组[1, 2, 3]使用这个方法,它将使数组变成:[3, 2, 1].

sort() :使数组中的元素按照一定的顺序排列.如果不指定,则按字母顺序排列.

对数字排序需要调用排序函数。 function sortNumber(a,b){ return a - b; }

代码演示:

			var arr = [1, 11, 12, 55, 66, 8, 7, 9];console.log(arr.join()); //打印结果:1,5,8,10,2,6var str = "Hello World";var reversedStr = str.split("").reverse().join("");console.log(reversedStr); // Output: "dlroW olleH"console.log(arr.sort()); // Output: [1,11,12,55,66,7,8,9]  这里是根据字符计算的arr.sort(function(a, b) {return a - b;});console.log(arr); // Output: [1, 7, 8, 9, 11, 12, 55, 66]//反序排列arr.sort(function(a, b) {return b - a;});console.log(arr); // Output: [66, 55, 12, 11, 9, 8, 7, 1]

3.Date

获取日期

new Date() 返回当日的日期和时间

getFullYear() 返回四位数字年份

getDate() 返回一个月中的某一天 (1 ~ 31)

getMonth() 返回月份 (0 ~ 11)

getDay() 返回一周中的某一天 (0 ~ 6)

getHours() 返回 Date 对象的小时 (0 ~ 23)

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)

getSeconds() 返回 Date 对象的秒数 (0 ~ 59))

代码演示:下代码是一个简单时间表的制作

<!DOCTYPE html>
<html>
<head><title></title><script>function addTextToDiv() {var myDiv = document.getElementById('myDiv');var currentDate = new Date();var year = currentDate.getFullYear();var month = currentDate.getMonth() + 1;var day = currentDate.getDate();var hour = currentDate.getHours();var minutes = currentDate.getMinutes();var seconds = currentDate.getSeconds();myDiv.innerHTML = year + "年" + month + "月" + day + "日 " + hour + ":" + minutes + ":" + seconds;}setInterval("addTextToDiv()",1000);</script>
</head>
<body onload="addTextToDiv()"><div id="myDiv"></div>
</body>
</html>

4.Math 

Math 对象,提供对数据的数学计算。

属性 PI 返回π(3.1415926535...)。

方法 Math.abs(x) 绝对值计算;

Math.pow(x,y) 数的幂;

x的y次幂 Math.sqrt(x) 计算平方根;

Math.ceil(x) 对一个数进行上舍入

Math.floor(x) 对一个数进行下舍入

Math.round(x)  把一个数四舍五入为最接近的整数

Math.random()  返回 0 ~ 1 之间的随机数

Math.max(x,y)  返回 x 和 y 中的最大值

Math.min(x,y)   返回 x 和 y 中的最小值

Html DOM

● DOM是Document Object Model文档对象(网页中的标签)模型的缩写.

● 通过html dom,可用javaScript操作html文档的所有标签

1.查找元素

如果我们想对标签进行操作,我们就得找到他们,那我们怎么找到他们呢?

有四种方法可以找到他们:

通过 id 找到 HTML 标签

document.getElementById(“id");

通过标签名找到 HTML 标签

document.getElementsByTagName("p");

通过类名找到 HTML 标签

document.getElementsByClassName("p");

通过name找到 HTML 标签

document.getElementsByName(“name");

2.改变HTML

Html dom允许javaScript 改变html标签的内容.改变 HTML 标签的属性 document.getElementById(“username").value=“new value";

代码演示: 演示代码就让通过js修改按钮的value值,让按钮的value值从测试变到按钮

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function test(){document.getElementById("button").value = "按钮";}</script></head><body><input type="button" value="测试" id="button" onclick="test()"/></body>
</html>

代码演示:修改图片

document.getElementById("image").src=“new.jpg";

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function test(){document.getElementById("img").src = "img/3.jpg";}</script></head><body><input type="button" value="测试" id="button" onclick="test()"/><img src="img/1.jpg" id="img"/></body>
</html>

效果演示:

修改 HTML 内容的最简单的方法时使用 innerHTML 属性 document.getElementById(“div”).innerHTML=new HTML

代码演示:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function test(){document.getElementById("div").innerHTML = "加油胜利就在前方";}</script></head><body><input type="button" value="测试" id="button" onclick="test()"/><div style="font-size: 50px;" id="div">你好,登山者</div></body>
</html>

效果演示:

这里只是举例说明了这几个,我们还有更多的操作,自己动动手,去发现更多吧,加油登山者

3.改变 CSS

html dom允许 javaScript改变html标签的样式

这里演示上面的文案修改颜色

代码演示:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>function test(){document.getElementById("div").innerHTML = "加油胜利就在前方";}function color(){document.getElementById("div").style.color = "pink";}</script></head><body><input type="button" value="测试" id="button" onclick="test()"/><div style="font-size: 50px;" id="div">你好,登山者</div><input type="button" value="修改颜色" onclick="color()"/></body>
</html>

效果演示:

这里用一个实例:使一个div的背景颜色修改并且循环

效果:

 

代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script>var color = ['red','green','blue'];var i = 0;function test(){var obj1 = document.getElementById("text");var obj2 = document.getElementById("button");obj1.style.backgroundColor = color[i];i++;if(i==color.length){i=0;}obj2.value = color[i];}</script></head><body><div style="width: 300px; height: 300px;" id="text"></div><input type="button" value="red" onclick="test()" id="button"/></body>
</html>

 计时

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执 行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

方法:

setTimeout(“函数”,”时间”)未来的某时执行代码

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>setTimeout 示例</title><script>function showMessage() {alert("这是一个 setTimeout 示例!");}// 调用 showMessage 函数,在 3 秒后显示消息setTimeout("showMessage()", 3000);</script>
</head>
<body><h1>setTimeout 示例</h1><p>页面加载后将在 3 秒后显示一条消息。</p>
</body>
</html>

效果:

clearTimeout()取消setTimeout()

效果:

代码演示:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>setTimeout 和 clearTimeout 示例</title><script>var timeoutID;function showMessage() {alert("这是一个 setTimeout 示例!");}function setupTimeout() {timeoutID = setTimeout(showMessage, 3000);}function cancelTimeout() {clearTimeout(timeoutID);alert("定时器已取消!");}</script>
</head>
<body><h1>setTimeout 和 clearTimeout 示例</h1><p>页面加载后将在 3 秒后显示一条消息。</p><button onclick="setupTimeout()">设置定时器</button><button onclick="cancelTimeout()">取消定时器</button>
</body>
</html>

setInterval(“函数”,”时间”)每隔指定时间重复调用

clearInterval()取消setInterval()

clearInterval()------是清除了一个计时器

效果:

代码: 

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><input type="text" id="text"/><br /><br /><input type="button" value="开始" onclick="startTime()"/><input type="button" value="停止" onclick="stopTime()"/><input type="button" value="复位" onclick="fuwei()"/><script>var num = 0;var textobj = document.getElementById("text");textobj.value = 0;var index;function jishi(){num++;textobj.value = num;}function startTime(){index = setInterval("jishi()",1000);}function stopTime(){clearInterval(index);}function fuwei(){num = 0;textobj.value = 0;}</script></body>
</html>

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

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

相关文章

微服务应用与开发知识点练习【Gateway,OpenFeign,Dubbo,RocketMQ和RabbitMQ,JPA,Redis,Mycat】

一、选择题 【Gateway】 1.Spring Cloud Gateway与Nacos整合实现负载均衡时&#xff0c;路由配置中的URI前缀应该是&#xff1f;&#xff08;A &#xff09; A. lb:// B. nacos:// C. http:// D. discovery:// Spring Cloud Gateway与Nacos整合实现负载均衡时&#xff0c…

华为od 2024 | 什么是华为od,od 薪资待遇,od机试题清单

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

鸿蒙面试心得

自疫情过后&#xff0c;java和web前端都进入了冰河时代。年龄、薪资、学历都成了找工作路上躲不开的门槛。 年龄太大pass 薪资要高了pass 学历大专pass 好多好多pass 找工作的路上明明阳关普照&#xff0c;却有一种凄凄惨惨戚戚说不清道不明的“优雅”意境。 如何破局&am…

vite-ts-cesium项目集成mars3d修改相关的包和配置参考

如果vite技术栈下使用原生cesium&#xff0c;请参考下面文件的包和配置修改&#xff0c;想用原生创建的viewer结合我们mars3d的功能的话。 1. package.json文件 "dependencies": {"cesium": "^1.103.0","mars3d": "^3.7.18&quo…

Java——IO流(一)-(8/8):释放资源-try-catch-finally、try-catch-resource

目录 try-catch-finally 介绍 实例演示1 实例演示2 try-catch-resource 介绍 实例演示 try-catch-finally 介绍 普通的释放流的方法可能会因中间的异常或是其他原因&#xff0c;导致程序执行不到释放流的代码就结束了&#xff0c;会有资源浪费的风险&#xff0c;所以建…

Web渗透:文件包含漏洞(part.1)

"文件包含漏洞"&#xff08;File Inclusion Vulnerability&#xff09;是一种常见的Web应用程序漏洞&#xff0c;攻击者可以通过这个漏洞在目标系统上包含或执行任意文件。主要有两种类型的文件包含漏洞&#xff1a; 本地文件包含&#xff08;Local File Inclusion, …

Python学习打卡:day17

day17 笔记来源于&#xff1a;黑马程序员python教程&#xff0c;8天python从入门到精通&#xff0c;学python看这套就够了 目录 day17121、Python 操作 MySQL 基础使用pymysql创建到 MySQL 的数据库链接执行 SQL 语句执行非查询性质的SQL语句执行查询性质的SQL语句 122、Pyth…

全局mixins

一、文章由来 在开发过程中发现在钩子函数位置直接使用dicts就能直接绑定数据了&#xff0c;由此溯源发现了自己的盲区 二、局部使用 // myMixin.js文件 var myMixin {created: function () {this.hello()},methods: {hello: function () {console.log(hello from mixin!)…

隐秘而又复杂的恶意软件:SSLoad

SSLoad 是一种隐秘的恶意软件&#xff0c;主要通过钓鱼邮件打开突破口&#xff0c;收集各种信息再回传给攻击者。近期&#xff0c;研究人员发现 SSLoad 通过诱饵 Word 文档投递恶意 DLL 文件&#xff0c;最终部署 Cobalt Strike。另一种攻击方式是利用钓鱼邮件诱导受害者到 Azu…

JVM专题十三:总结与整理(持续更新)

图解JVM JVM与Java体系结构 JVM垃圾回收算法 JVM垃圾回收器 图解JVM主要是放了前面12个章节的我们给大家画的图&#xff0c;做了整体的汇总&#xff0c;大家可以根据图区回忆我们所说的内容&#xff0c;查缺补漏。 实战经验 1、项目中数据量多少&#xff0c;QPS与TPS最高多少…

展开说说:Android列表之RecyclerView

RecyclerView 它是从Android5.0出现的全新列表组件&#xff0c;更加强大和灵活。用于显示列表形式 (list) 或者网格形式 (grid) 的数据&#xff0c;替代ListView和GridView成为Android主流的列表组件。可以说Android客户端只要有表格的地方就有RecyclerView。 RecyclerView 内…

技术速递|Visual Studio Code 的 .NET MAUI 扩展现已正式发布

作者&#xff1a;Maddy Montaquila 排版&#xff1a;Alan Wang 今天&#xff0c;我们非常高兴地宣布 .NET MAUI VS Code 扩展插件结束了预览阶段&#xff0c;并将包含一些期待已久的新功能 - 包括 XAML IntelliSense 和 Hot Reload&#xff01; 什么是 .NET MAUI 扩展插件&…

鸿蒙开发Ability Kit(程序框架服务):【ServiceAbility切换】 组件切换

ServiceAbility切换 FA模型中的ServiceAbility对应Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility为系统API&#xff0c;只有系统应用才可以创建。因此&#xff0c;FA模型的ServiceAbility的切换&#xff0c;对于系统应用和三方应用策略有所不同…

4A的「A」会变成AI的「A」吗?

戛纳国际创意节上&#xff0c;广告集团WPP的全球CEO Mark Read 和英国CEO Karen Blackett 解释了WPP如何应对AIGC所带来的「威胁」。同时&#xff0c;Mark Read 与Elon Musk对话&#xff0c;讨论「技术创新的变革力量&#xff0c;人工智能如何重塑创造力、商业和社会&#xff0…

Duix - 硅基数字人SDK

简介 Introduction DUIX(Dialogue User Interface System)是硅基智能打造的AI数字人智能交互平台。通过将数字人交互能力开源,开发者可自行接入多方大模型、语音识别(ASR)、语音合成(TTS)能力,实现数字人实时交互,并在Android和iOS多终端一键部署,让每个开发者可轻松…

基于长短时记忆网络LSTM的TE过程故障诊断(MATLAB R2021B)

实验所用 TE 仿真过程的数据集是网上公开的数据集&#xff0c;该数据集中的训练集和测试集分别包含 20 种故障工况和一种正常工况数据&#xff0c;其中所采集的每个样本信号包含 41 个测量变量和 11 个控制变量&#xff0c;所以每个时刻采集到的样本有 52 个观测变量。 TE 仿真…

IO流

文件 什么是文件 文件流 常用的文件操作 创建文件对象相关构造器和方法 public class FileCreate {public static void main(String[] args) {}//方式 1 new File(String pathname)//根据路径构建一个File对象Testpublic void create01() {String filePath "e:\\news1.…

TMGM:ASIC撤销禁令,TMGM强化合规、重启差价合约服务

TMGM作为差价合约&#xff08;CFDs&#xff09;与保证金外汇交易领域的领航者&#xff0c;安全、合规、高效被奉为我集团的终身使命。澳大利亚证券和投资委员会&#xff08;ASIC&#xff09;已正式撤销了早前针对TMGM差价合约业务实施的临时止损令。这一误会的解除&#xff0c;…

使用North自部署图床服务

图床 图床可以把图片转为链接&#xff0c;从而方便我们书写、分享博客&#xff0c;目前图床主要分为以下几类: 利用 Git 仓库存储对象存储&#xff08;OSS、COS、七牛云等&#xff09;免费公共图床&#xff08;SM.MS、聚合图床、ImgTP、Postimage等&#xff09; 但上述图床都…

Zabbix 监控系统部署

Zabbix 监控系统部署 Zabbix是一个企业级开源分布式监控解决方案&#xff0c;可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的运行状况和完整性。 Zabbix 使用灵活的通知机制&#xff0c;允许用户为几乎任何事件配置基于电子邮件的警报。这允许…