【从零开始的Java开发】2-9-1 JavaScript入门:语法、JS对表单元进行设置、事件与DOM

2023-11-13

页面使用JS的方法

使用<script>在HTML页面中插入JavaScript:两个<script>中的语言就是js。

<body>
    <script type="text/javascript">
        alert("hello javascript");
    </script>
</body>

或是引用外部JS文件(一般用这种)

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

第一个JS程序

<head>
    <title>index</title>
    <script type="text/javascript">
    // 弹对话框
    alert("hello javascript");
    </script>
</head>

显示:
在这里插入图片描述

相关语法

变量

  • 与其他程序设计语言相同,是用来临时存储信息。
  • 变量var区分类型,但没有int之类的关键词。
  • 即:创建的时候不区分数据类型,赋值的时候区分。
  • 即:弱数据类型。

如:

// 声明一个变量 此时没有数据类型
var x;
// 现在有数据类型了
x = 123;
alert(x + 1);

显示:
在这里插入图片描述
若:

x = "123";

显示:1231

调试

  • alert弹窗调试
  • console.log控制台输出调试

作用:观察变量值的变化规律,是否符合程序设计的目的。

如:

console.log(x + 1);

显示:在浏览器F12.
在这里插入图片描述

自定义函数

JS中的函数分为:自定义函数 和 内置函数。

创建方法1:

//这种是函数声明 可以先使用后定义
function fun1(){
	//代码片段
	return ***;
}

创建方法2:

//函数表达式 必须先定义后使用
var fun1=function(x){
	return ***;
};

如:

//创建函数
function add(n1, n2) {
    alert(n1 + n2);
}

//调用函数
add(1, 2);

显示弹窗:3

数据类型及类型转换

数据类型

  • number:数字类型,整型浮点型都包括
  • string:字符串类型,必须放在单引号或者双引号中
  • boolean:布尔类型,只有truefalse两种值
  • undefined:未定义,一般指的是已经声明,但是没有赋值的变量(要尽量避免它的出现)
  • null:空对象类型
  • object:对象类型,在js常见的有windowdocumentarray
  • NaN:是Number的一种特殊类型,isNaN(),如果是数字返回false,不是数字返回true

类型转换

  • parseInt()
  • parseFloat()
  • Number()
  • Boolean

parseInt()的代码:

var str = "123";
console.log(str + 1);
console.log(str * 1 + 1); //隐式转换:自动类型转换
console.log(parseInt(str) + 1); //强制转换

在浏览器中按F12:

1231
124
124

若不能转换:

var str="abc";
console.log(parseInt(str));

控制台:NaN

所以加一个isNaN判断是否可以转换:

不能转换:

var str = "abc";
//如果可以转换
if (isNaN(str) == false) {
    console.log(parseInt(str));
} else {
    console.log("is error");
}

控制台:is error

可以转换:

var str = "123";
//如果可以转换
if (isNaN(str) == false) {
    console.log(parseInt(str));
} else {
    console.log("is error");
}

控制台:123

parseInt()parseFloat()Number()的代码:

var str = "0123.654";
console.log(Number(str)); //一般让它优先
console.log(parseInt(str));
console.log(parseFloat(str));

控制台:

123.654
123
123.654

剩下的这些可以自己演示:
若str是null,则Number返回0,parseInt和parseFloat返回NaN。
若str是"",则Number返回0,parseInt和parseFloat返回NaN。

Boolean()的转换:
""会转换为false;
null会转换为false;
(字符)有内容会转换为true;
(数字)0会转换为false;
(数字)非0会转换为true;

变量作用域

  • 全局变量:在函数外部创建的变量,称为全局变量,在函数之间可以共享使用。
  • 局部变量:在函数内部创建的变量,称为局部变量,其他函数不能使用。

运算符

比较运算符:

  • >:大于
  • >=:大于等于
  • !=:不等于
  • <:小于
  • <=:小于等于

运算符优先级:
在这里插入图片描述
逻辑运算符:

  • &&:and
  • ||:or
  • ! :非

三目运算符:

条件?值1:值2

满足条件就返回值1,否则值2.

程序控制语句

  • if else
  • switch
  • forwhiledo...while

内置函数

字符函数

  • substring:截取字符串长度,substring(起始位置,结束位置)
  • substr:截取字符串长度,substr(起始位置,截取长度)
  • charAt:获取该位置的字符,charAt(idx)
  • split:按一定的规律将字符串转化为数组
  • length:求长度,str.length返回str的长度
  • indexOf:查找某个字符在字符串第一次出现的位置:str.indexOf(1)返回字符’1’在str中第一次出现的位置;str.indexOf(1,2)返回从位置2开始的字符’1’在str中第一次出现的位置;
  • concat:连接
  • replace:替换

split代码:

var str = "aa,bb,cc,dd,eee,12345,678";
//以逗号为分隔,将str这个字符串转化为数组存到arr里
var arr = str.split(",");
console.log(arr);

控制台:(7)表示有7个元素。

(7) ['aa', 'bb', 'cc', 'dd', 'eee', '12345', '678']

concat代码:添加一句

console.log(str.concat("55","77","000"));

控制台:

aa,bb,cc,dd,eee,12345,6785577000

replace代码:把第一个aa替换成bb

//把aa替换成bb
console.log(str.replace("aa","bb"));

控制台:

bb,bb,cc,dd,eee,12345,678

日期函数

  • Date:获取当前系统日期
  • getDate:获取当前是几号
  • getDay:获取当前星期几(周日是0,周一是1…以此类推)
  • getMonth:获取当前月份 (从0开始)
  • getFullYear:获取当前年份
  • getYear:获取当前年份(已经不用了)
  • getHours:获取当前小时
  • getMinutes:获取当前分钟
  • getSeconds:获取当前秒

一个日期的例子:

var d1 = new Date();
var d2 = new Date("2022-9-1 10:01:23");
console.log(d2.getDate()); //获取当前是几号
console.log(d2.getMonth()); //获取当前月份
console.log(d2.getFullYear()); //获取当前年份
console.log(d2.getHours()); 
console.log(d2.getMinutes()); 
console.log(d2.getSeconds()); 

控制台:

1
8//如果想要显示当前的月份,可以+1
2022
10
1
23

计算相差的日期——计算2022-9-1到2023年的天数:

var d1 = new Date("2022-9-1");
var d2 = new Date("2023-1-1");
var n = d2.getTime() - d1.getTime(); //获得的是毫秒
console.log(parseInt(n / (1000) / (3600) / 24));

控制台:

122

日期格式化:把日期处理为xxxx-xx-xx hh:mm:ss的形式

//自定义一个格式化日期的函数
function fun_FmtDate() {
    var d1 = new Date();
    var year, mon, day, hh, mm, ss;
    var time;
    year = d1.getFullYear();
    mon = d1.getMonth() + 1;
    day = d1.getDate();
    hh = d1.getHours();
    mm = d1.getMinutes();
    ss = d1.getSeconds();
    time = year + "-" + mon + "-" + day + " " + hh + ":" + mm + ":" + ss;
    return time;
}

console.log(fun_FmtDate());

控制台:

2022-8-29 19:42:19

数学函数

  • Math.round:四舍五入取整
  • max:返回一组数最大值
  • min:返回一组数最小值
  • abs:返回绝对值
  • toFixed(x):保留x位小数

数组

  • 声明或创建一个不指定长度的数组,又称实例化创建
var arrayObj = new Array();
  • 声明或创建一个数组并指定长度的数组
var arrayObj = new Array(5);//长度为5
  • 声明或创建一个带有默认值的数组
var arrayObj = new Array(2,1,2,3,4,5);
//参数就是数组的内容,数组长度是参数个数
  • 创建一个数组并赋值 的简写,又称为隐式创建数组
var arrayObj = [1,2,3,4,5];
  • 数组赋值,字符下标,数组遍历
var arrayObj = new Array(2, 3, 4, 5, 6, 7);
//输出数组中某个元素
console.log(arrayObj[0]);
//下标出界会输出undefined

//遍历数组
for (var i in arrayObj) {
    console.log(arrayObj[i]);
}

控制台:

2
2
3
4
5
6
7

JS对表单元进行设置

表单
表单的主要作用是在客户端接收用户的信息,然后将数据递交给后台的程序来操纵这些数据。

JS做什么:设置或获取各种表单元素的值。

单击与刷新

需求:点击按钮后有弹窗。

html:

<body>
    <form>
        <label>用户名</label>
        <input type="text" name="userName" id="userName" value="123" />
        <!-- onclick 单击事件 -->
        <input type="button" id="button" onclick="show1()" value="button" />
    </form>
</body>

js:

//单击事件后的显示
function show1() {
    alert("单击成功!");
}

需求:点击按钮后使文本框内的123变成999:

function show1() {
    // alert("单击成功!");
    document.getElementById("userName").value = "999";
}

点击刷新(onload)后出现在页面里的称为初始化。
需求:初始化后文本框里为123456。

html:

<body onload="show1()">
    <form>
        <label>用户名</label>
        <input type="text" name="userName" id="userName" />
        <!-- onclick 单击事件 -->
        <input type="button" id="button" value="button" />
    </form>
</body>

js:

//单击事件后的显示
function show1() {
    // alert("单击成功!");
    document.getElementById("userName").value = "123456";
}

单选按钮

单选按钮:radio

需求:单选性别男/女,点击按钮后对话框把选中的显示出来。

html:

<body>
    <form>
        <!-- 单选按钮 -->
        <input type="radio" name="xb" value="" checked="checked"><br>
        <input type="radio" name="xb" value=""><br>
        <input type="button" id="button" value="button" onclick="show1()" />
    </form>
</body>

js:

function show1() {
    var xb = document.getElementsByName("xb");

    //checked表示判断是否被选中
    if (xb[0].checked) {
        alert(xb[0].value);
    } else {
        alert(xb[1].value);
    }
}

在这里插入图片描述

列表框

一般id给js用,name给后台用。

需求:用js自动生成年、月、日的列表框。

年:html:

<body onload="ymd()">
    <form>
        <!-- 列表框 -->
        <select name="yyyy" id="yyyy">
        </select>
    </form>
</body>

js:

function ymd() {
    //获取id=yyyy的控件
    var yyyy = document.getElementById("yyyy");
    for (var i = 1999; i <= 2022; i++) {
        //option是条目
        //i i 第一个参数是显示的名字 第二个参数是value
        yyyy.options.add(new Option(i, i));
    }
}

在这里插入图片描述
年月日:
html:

<body onload="ymd()">
    <form>
        <!-- 列表框 -->
        <select name="yyyy" id="yyyy">
        </select><select name="mm" id="mm">
        </select><select name="dd" id="dd">
        </select></form>
</body>

js:

function ymd() {
    //获取id=yyyy的控件
    var yyyy = document.getElementById("yyyy");
    var mm = document.getElementById("mm");
    var dd = document.getElementById("dd");
    initSelect(yyyy, 1999, 2022);
    initSelect(mm, 1, 12);
    initSelect(dd, 1, 31);
}

//给列表框赋值,传递三个参数:表单元素,开始,结束
function initSelect(Obj, start, end) {
    for (var i = start; i <= end; i++) {
        Obj.options.add(new Option(i, i));
    }
}

在这里插入图片描述

列表框:刷新后默认选中间的值 与 修改对应月份的日期(联动)

刷新后默认选中间的值的ymd函数修改为

function ymd() {
    //获取id=yyyy的控件
    var yyyy = document.getElementById("yyyy");
    var mm = document.getElementById("mm");
    var dd = document.getElementById("dd");
    //当前年份
    var date = new Date();
    var year = parseInt(date.getFullYear());
    initSelect(yyyy, 1999, year);
    initSelect(mm, 1, 12);
    initSelect(dd, 1, 31);

    //获取列表框的长度
    var n = yyyy.length;

    //设置被默认选中的:中间
    yyyy.selectedIndex = Math.round(n / 2);

    //删除列表框的条目:天
    // dd.options.length=0;
}

需求:若改变月列表框,则弹窗“123”
html:

<select name="mm" id="mm" onchange="selectYmd()"></select>

js:

//列表框的改变事件
function selectYmd() {
    alert("123");
}

改变月列表框同时自动改变日列表框:(如3月时日列表框最多只有31天,4月最多只有30天)

html改成:

<body onload="ymd()">
    <form>
        <!-- 列表框 -->
        <select name="yyyy" id="yyyy" onchange="selectYmd()">
        </select><select name="mm" id="mm" onchange="selectYmd()">
        </select><select name="dd" id="dd">
        </select></form>
</body>

js添加:

//月列表框的改变事件:联动
function selectYmd() {
    //对象
    var yyyy = document.getElementById("yyyy");
    var mm = document.getElementById("mm");
    var dd = document.getElementById("dd");

    //获取选中的值
    var yy = parseInt(yyyy.value);
    var m = parseInt(mm.value);

    //日期的结束的天
    var dayEnd;

    if (m == 4 || m == 6 || m == 9 || m == 11) {
        dayEnd = 30;
    } else if (m == 2) {
        dayEnd = 28;
        if ((yy % 4 == 0 && yy % 100 == 0) || yy % 400 == 0) {
            dayEnd = 29;
        }
    } else {
        dayEnd = 31;
    }

    dd.options.length = 0;
    initSelect(dd, 1, dayEnd);
}

则:
在这里插入图片描述

列表框删除

具体删除某一个条目。

html添加:

<input type="button" name="button" value="删除列表框条目" onclick="deleteSelect()">

js:

//删除列表框的某一个条目:按索引号删除
function deleteSelect() {
    var dd = document.getElementById("dd");
    dd.options.remove(1); //下标从0开始,下标为1就是删除第二个
}

图片相关

选择列表框内不同的数字换图片。

html:

<body onload="initLogo()">
    <form>
        <!-- 图片相关 -->
        <img id="logoImg" src="img/1.jpg"><select id="logo" onchange="selectImg()"></select>
    </form>
</body>

js:

//初始化列表框:有三个选项
function initLogo() {
    //获取列表框
    var logo = document.getElementById("logo");

	//添加
    for (i = 1; i <= 3; i++) {
        logo.options.add(new Option(i, i));
    }
}

//选择不同的数字会对应不同的图片
function selectImg() {
    var logo = document.getElementById("logo");
    var n = logo.value;
    var logoImg = document.getElementById("logoImg");
    logoImg.src = "img/" + n + ".jpg";

}

复选框

关于全选,全不选,反选。

html:

<body>
    <form>
        <input type="checkbox" name="interest" /><label>游泳</label>
        <input type="checkbox" name="interest" /><label>爬山</label>
        <input type="checkbox" name="interest" /><label>看书</label>
        <input type="checkbox" name="interest" /><label>听歌</label>
        <input type="button" value="全选" id="btn1" onclick="checkInterest()">
        <input type="button" value="反选" id="bt2" onclick="checkInterest1()">
    </form>
</body>

js:

//全局变量:在页面加载的时候就进行初始化
var flag = true;

function checkInterest() {
    //是一个数组:注意Elements有s
    var interest = document.getElementsByName("interest");

    //全选
    for (i = 0; i < interest.length; i++) {
        interest[i].checked = flag; //true表示选中
    }

    //如果已经全选了,那按钮上要显示为"全不选"
    if (flag) {
        document.getElementById("btn1").value = "全不选";
    } else {
        document.getElementById("btn1").value = "全选";
    }

    //再点一次就是全不选——开关变量
    flag = !flag;
}

//反选
function checkInterest1() {
    var interest = document.getElementsByName("interest");
    for (i = 0; i < interest.length; i++) {
        interest[i].checked = !interest[i].checked;
    }
}

事件与DOM总结

事件

  • 什么时候发生
  • 达到什么效果、功能

事件是什么:
事件是指被程序发现的行为或发生的事情,而且它可能会被程序处理。

特点:js的事件,都是以on开头,如onclick点击、onchange改变、onload刷新…

分类:鼠标事件、键盘事件、表单事件…

鼠标事件:

  • onclick
  • ondblclick
  • onmouseover
  • onmouseout
  • onmousedown

键盘事件:

  • onkeydowm
  • onkeyup
  • keypress

表单事件:

  • onfoucs
  • onsubmit
  • onblur
  • onchange

DOM

DOM:Document Object Model——文档 对象 模型

什么是DOM:
将文档(页面)表现为结构化的表示方法,使每一个页面元素都是可操控的,DOM将网页和脚本以及其他的编程语言联系了起来。

特点:利用js控制页面中的所有元素,使页面更加”聪明“。

分类:元素节点、属性节点、文本节点

DOM树
在这里插入图片描述

常用DOM操作
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【从零开始的Java开发】2-9-1 JavaScript入门:语法、JS对表单元进行设置、事件与DOM 的相关文章

  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐

  • Deepin设置接受从Windows的远程桌面连接

    信息化时代 网络越来越普及 电脑越来越多 经常会有使用远程桌面操作多台电脑 PC 服务器 虚拟机 云服务器等等 的情形 例如用远程桌面连接Windows服务器 台式机 Xshell连接Linux服务器 台式机 还有更多的工具 包括QQ远程协
  • 推多米诺

    LeetCode 838 推多米诺 一行中有 N 张多米诺骨牌 我们将每张多米诺骨牌垂直竖立 在开始时 我们同时把一些多米诺骨牌向左或向右推 每过一秒 倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌 同样地 倒向右边的多米诺骨牌也会推动竖
  • Java-对象转型(casting)

    对象转型 casting 一个基类的引用类型变量可以指向其子类的对象 一个基类的引用不可以访问其子类对象新增加的方法 属性 方法 可以使用 引用 变量instanceof类名 来判断该引用型变量所指向的对象是否属于该类或该类的子类 子类的对
  • 线程间通信方式

    参考视频 实现一个场景 三个线程分别交替打印A B C 打印100次 基于synchronized 锁的实现方式 public class test private static Integer num 0 public static vo
  • 玩转Mysql系列 - 第18篇:流程控制语句(高手进阶)

    这是Mysql系列第18篇 环境 mysql5 7 25 cmd命令中进行演示 代码中被 包含的表示可选 符号分开的表示可选其一 上一篇存储过程 自定义函数 对存储过程和自定义函数做了一个简单的介绍 但是如何能够写出复杂的存储过程和函数呢
  • HAproxy的负载均衡与keepalive+haproxy实现高可用

    目录 实验环境 一 内核配置 二 编译安装 编译前先产看内核版本 三 建立配置文件 四 添加为系统服务 五 配置web1 web2 高可用实验环境 一 安装keepalived 二 配置keepalviled 三 配置haproxy 四 验
  • Auto-GPT部署教程

    今天介绍下如何部署Auto GPT 官网已经写的很好了 分享下我的部署过程和踩到的坑 拉取代码 github仓库 GitHub Significant Gravitas Auto GPT An experimental open sourc
  • 新Windows配置C#开发环境(.NET Core)

    新Windows配置C 开发环境 NET Core 平时需要使用C 进行开发 但是又不想下载VS VS的体积太大 电脑跑起来比较吃力 所以直接下载 NET Core来配置C 的开发环境 体积小 而且跟vscode一起使用基本上够用了 下面就
  • python实训 俄罗斯方块 面向对象编程MVC模式

    前端演示 viewtest py from tkinter import from random import import threading from tkinter messagebox import showinfo from tk
  • Weblogic未授权远程代码执行漏洞 (CVE-2023-21839)

    前言 Weblogic 允许远程用户在未经授权的情况下通过IIOP T3进行JNDI lookup 操作 当JDK版本过低或本地存在javaSerializedData时 这可能会导致RCE漏洞 0x00 环境设置 此次实验 我们使用P神的
  • 华为OD机试 - 增强的strstr(Java)

    题目描述 C 语言有一个库函数 char strstr const char haystack const char needle 实现在字符串 haystack 中查找第一次出现字符串 needle 的位置 如果未找到则返回 null 现
  • 【工作记录】MQTT介绍、安装部署及springboot集成@20230912

    背景 近期公司可能会有物联网设备相关项目内容 提前对用到的mqtt协议做预研和初步使用 最初接触到mqtt协议应该是早些年的即时通讯吧 现在已经是物联网设备最热门的协议了 作为记录 也希望能帮助到需要的朋友 MQTT介绍 MQTT 协议规范
  • windows环境下snort的安装

    windows环境下snort的安装 snort 一 windows环境下snort的安装 1 MYSQL安装 2 apache安装 3 php安装 4 配置PHP 5 安装配置adodb 6 安装配置acid 7 安装WinPcap 4
  • 从零实现DevOps(八):Jenkins结合Docker私服实现远程自动部署

    从零实现DevOps 八 Jenkins结合Docker私服实现远程自动部署 在上一篇文章 从零实现DevOps 七 Jenkins GitLab Docker部署SpringBoot项目 的总结部分 我们提出了一个疑问 就是项目的安全性和
  • 出现AttributeError: type object ‘object‘ has no attribute ‘dtype‘的另一种问题

    首先 出现AttributeError type object object has no attribute dtype 错误 可能是pandas或numpy版本问题 解决办法可见下文 https blog csdn net XYmush
  • my97DatePicker日期控件——日期输入框联动,使用focus使第二个输入框没展示出日期控件...

    描述问题场景 1 jquery使用的版本是jquery 1 7 2 min js 2 代码不是写在页面上的 是通过事件后追加的 1 2 3 4 5 6 7
  • 转行软件测试四个月学习,第一次面试经过分享

    我是去年上半年从销售行业转行到测试的 从销售公司辞职之后选择去培训班培训软件测试 经历了四个月左右的培训 在培训班结课前两周就开始投简历了 在结课的时候顺利拿到了offer 在新的公司从事软件测试工作已经将近半年有余 回想当时面试的过程 想
  • 我遇到的DSO missing from command line

    首先 使用C 代码编译了一个静态链接库libmy a 然后在另外一个C语言的项目中去调用此静态库 结果出现如下错误 usr bin ld libmy a message mm o undefined reference to symbol
  • Axure8下载和安装

    1 axureRP 和墨刀的选择 原型图工具有axure 墨刀 摩客 Mockplus xiaopiu Sketch等 其中现在最常用的原型图工具主要包括axure和墨刀 axure作为老牌的原型图工具 功能最齐全 交互最多样 基本任何想要
  • 【从零开始的Java开发】2-9-1 JavaScript入门:语法、JS对表单元进行设置、事件与DOM

    文章目录 页面使用JS的方法 相关语法 变量 调试 自定义函数 数据类型及类型转换 变量作用域 运算符 程序控制语句 内置函数 数组 JS对表单元进行设置 单击与刷新 单选按钮 列表框 列表框 刷新后默认选中间的值 与 修改对应月份的日期