JavaEE进阶-JavaScript初识

记一次wireshark抓取QQ好友IP和火绒抓取微信IP 事情是这样的,,上个周,手机离奇的被盗,但没有关机,为了找回手机,粗学了一手QQ抓ip的手段。 这里我就直接做个演示,解析关键的点。 三种思路i. wireshark 抓取手机在线IPii 火绒抓取 微信在线接听IPiii 火绒抓取 微信在线不接听IP i. wireshark 抓取手机在线IP wireshark抓好友QQ的ip要求和对方打语音的时候要手机在线。 这里说一下,打语音和视频是直接能和对方建立连接,如果发文件,是直接发给腾讯的,抓不到包。 1.打开wireshark,通过电脑Tim给对方打语音 阅读详情

目录

1,基础概念

2,基本使用

3,基础语法

4,consloe.log 到底有什么用?

5,目前阶段的基础操作

6,现有知识总结

7,jQuery的使用

8,两个案例演示

一,基础概念

前面学习 HTML 和 CSS 时,我们已经能够把一个网页“搭出来”和“美化出来”,但这样的网页还比较静态。

如果希望网页能够响应用户的操作,例如:

点击按钮 → 弹出提示
输入内容 → 获取输入框数据
点击菜单 → 展开内容
点击按钮 → 修改文字、颜色

就需要 JavaScript。

JavaScript,简称 JS,是一门脚本语言,最初主要用于浏览器中的网页交互。

JavaScript和Java是什么关系,你就可以理解为周杰和周杰伦,他们完全就是两个不同的东西,只不过在JavaScript刚开始进行创建的时候,就是主线任务是和Java类似,并且名字有Java也是为了蹭Java的流量吧

二,基本使用

先介绍一下consloe.log是用于打印日志的

那我们这里的使用还是跟css一样有三种写法,先分别来展示一下

(1)行内方式

    <button onclick="alert('hello')">点我</button>

JavaScript 直接写在 HTML 标签中。

适合非常简单的代码,但代码复杂以后会很乱。

(2)内部方式

     <script>
        console.log("hello");
    </script>

通过在body中使用<script>标签写入内容

(3)外部方式

console.log("hello2");
<script src="js2.js"></script>

通过创建一个新的js类来进行使用

三,基础语法

这里主要是先学习JavaScript这门语言的一些基础,就像开始学习Java的时候的变量,定义,数组之类的

(1)变量

常用数据类型number,string,boolean,undefined;(在这门语言不跟Java一样,这里定义一个变量不是int,String之类的,而是可以统一使用let)

let a = 10;
let b = 3.14;

let name = "张三";
let message = 'hello';

let flag = true;
let flag2 = false;

let a;
console.log(a);

(2)typeof查看类型

let a = 10;
let b = "hello";
let c = true;

console.log(typeof a);
console.log(typeof b);
console.log(typeof c);

(3)运算符

这里的运算符和Java类似,但是有一个不一样,就是==以及===

==:比较是否相同,但是在比较的时候会进行类型的转换,就好比“10”以及10,是相等的

===:在比较大小的基础上,也看类型是否相同,就向上面那个例子,在===这里就是不相同的

(4)数组

let arr = [10, "hello", true];
arr.push(200);
arr.splice(1, 1);
arr[0] = 100;

数组的设置也很简单以及包容,你的一个数组里面可以包含多种不同的类型的数据

增加元素:push

删除元素:splice(从哪开始,删除几个)

修改元素:直接用下标把你想改的数字写下来就好了

如果你直接写let arr【5】=10;,就是将数组的长度直接设为6,并且除了下标为5的那个内容是10,其他的都是empty

(5)函数

function add(x, y) {
    let sum = x + y;
    return sum;
}

方法统一使用function 后面就是方法名字以及参数,并且这里的方法的包容性也同样的很高,你在调用的时候不一定说是两个数字相加,也可以两个字符串等等

add(5, 3);

add("aa", 3);

add("aa", "bb");

add("aa");

add("aa", "bb", "cc");

add(5);

像aa和3就会出现字符串相加的情况,像我的函数是两个参数,但是你传了三个,这样就会丢弃最后一个,如果你少填了,空出来的参数就会默认是undefined

(6)对象

let student = {
    name: "张三",
    age: 20,

    sayHello() {
        console.log("hello");
    }
};

这里的方法最好直接写名字然后跟着对应的操作

四,consloe.log的作用

这个就相当于Java当中的sout(打印),但是这个打印并不会出现在网页上,而是打印在日志中,所以consloe.log最大的作用就是调试,那我现在就来介绍一下如何进行调试,我们进入网页之后,点击键盘上的f12,点击控制台就可以看到我们的日志了

<script>
    console.log("hello");
</script>
<script src="js2.js"></script>
console.log("hello2");

在这里就可以看到我刚刚写的两个hello,具体如何操作,先举一个例子

let arr = [10, 20, 30];

arr.push(40);

console.log(arr);

这样我们通过日志就可以看到我们push有没有成功

五,基础操作

现在学习阶段比较常见的可以先认识:

console.log()

控制台打印。

alert()

浏览器弹窗。

typeof

查看数据类型。

arr.length

获取数组长度。

arr.push()

在数组末尾增加元素。

arr.splice()

删除数组元素。

parseInt()

把内容转换为整数。

Math.random()

生成随机数。

Math.floor()

向下取整。

这些操作在后面的案例中会不断重复出现。

六,现有知识总结

我们现在学完这些开始网页交互了吗,还并没有,我们现在学这些东西主要是学JavaScript的一些基础的语法,还没到交互的关系,当只有比如用户点击一个按钮,浏览器接收到点击的信号,JavaScript监听到之后执行对应的代码

七,jQuery

jQuery 本质上还是建立在 JavaScript 之上的工具,它封装了很多常见的页面操作,使得选择 HTML 元素、操作 DOM 和处理事件更加简单

如何导入

我们先进入jQuery的官网,然后进行下载

下载完之后打开右键另存为到你写的代码的那个目录下

然后复制粘贴到你的代码文件目录,并且在代码中进行引入,接下来就可以使用了,代码中的导入最好写在head里面或者body的开头,因为浏览器是代码从上往下进行加载,所以写在开头避免加载出现问题

,

<script src="./jquery-4.0.0.min.js"></script>

基础用法

$(selector).action();

selector是选择哪一个,后面的action是具体要执行的方法

$("button").hide();

这个就是找到button然后对他进行隐藏,这里的选择器和前面css类似,id使用#,class使用. ,直接写就是找到所有的标签,上面这个就是找到所有的p标签

事件

相关理解

要进行网页交互就得先知道用户做了什么动作,比如用户点击了一个什么,输入了一个什么,都是需要捕捉的动作,所以后续我们使用jQuery主要就是带上用户的作用以及这个动作完之后返回什么

$("button").click(function() {

    console.log("点击成功");

});

这个就是当用户点击button按钮之后打印一个日志

事件里面的常用方法

text()
html()
val()

text()是修改文本内容,html()是修改HTML里面的内容,val()是获取到用户输入

接下来我用两个小案例来辅助学习

案例1(猜数字)

这个图片是我们要达到的效果,首先就是我们输入数字,产生一个次数以及结果的改变,然后就是重新开始一局之后的数据的刷新

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>猜数字</title>
</head>
<body>
    <div>
        <button id="reset">重新开始游戏</button><br>
        请输入你要猜的数字:<input type="text" id="guessnum"><button id="guess">猜</button><br>
        已经猜的次数:<span id="count">0</span><br>
        结果: <span id="result"></span>
    </div>
    <script src="./jquery-4.0.0.min.js"></script>
    <script>
        let num=Math.floor(Math.random()*100)+1;
        let count=0;
        console.log(num);
        $("#guess").click(function(){
            count++;
            //拿到用户输入的数字,用val
            let usernum=$("#guessnum").val();
            if(num>usernum){
                $("#result").text("猜小了");
                $("#count").text(count);
            }else if(num<usernum){
                $("#result").text("猜大了");
                $("#count").text(count);
            }else{
                $("#result").text("猜对了");
                $("#count").text(count);
            }
        })
        //接下来就是点击重新开始之后的重置
        $("#reset").click(function(){
            num=Math.floor(Math.random()*100)+1;
            console.log(num);
            count=0;
            $("#guessnum").val("");
            $("#count").text("");
            $("#result").text("");
        })
    </script>

</body>
</html>

案例2(留言板)

预期效果,在我们输完之后会在提交下面显示

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>表白墙</title>

    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .container {
            width: 520px;
            margin: 30px auto;
            text-align: center;
        }

        h1 {
            font-size: 56px;
            margin-bottom: 20px;
        }

        p {
            color: #888;
            margin-bottom: 25px;
        }

        .row {
            width: 500px;
            margin: 15px auto;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .row span {
            width: 100px;
            text-align: left;
            font-size: 24px;
        }

        .edit {
            width: 320px;
            height: 50px;
            font-size: 20px;
            padding-left: 10px;
        }

        .submit {
            width: 420px;
            height: 60px;
            background-color: orange;
            color: white;
            border: none;
            font-size: 28px;
            cursor: pointer;
        }

        .message {
            width: 420px;
            margin: 10px auto;
            text-align: left;
            font-size: 20px;
            padding: 10px;
            border-bottom: 1px solid #ddd;
        }
    </style>
</head>

<body>

<div class="container">

    <h1>表白墙</h1>

    <p>输入后点击提交,会将信息显示在下面</p>

    <div class="row">
        <span>谁:</span>
        <input class="edit" type="text">
    </div>

    <div class="row">
        <span>对谁:</span>
        <input class="edit" type="text">
    </div>

    <div class="row">
        <span>说什么:</span>
        <input class="edit" type="text">
    </div>

    <div class="row">
        <input class="submit" type="button" value="提交">
    </div>

</div>


<!-- 引入你本地的 jQuery 4.0.0 -->
<script src="./jquery-4.0.0.min.js"></script>

<script>

    $(function () {

        // 给提交按钮绑定点击事件
        $(".submit").click(function () {

            // 获取三个输入框中的内容
            var from = $(".edit:eq(0)").val();
            var to = $(".edit:eq(1)").val();
            var message = $(".edit:eq(2)").val();

            // 打印到控制台,方便调试
            console.log(from);
            console.log(to);
            console.log(message);

            // 如果有内容为空,就不提交
            if (from == "" || to == "" || message == "") {
                alert("请输入完整内容");
                return;
            }

            // 拼接一段 HTML
            var html =
                '<div class="message">'
                + from
                + ' 对 '
                + to
                + ' 说:'
                + message
                + '</div>';

            // 添加到 container 最后
            $(".container").append(html);

            // 清空所有文本框
            $(":text").val("");

        });

    });

</script>

</body>
</html>

【信息系统项目管理师】第1章:信息化发展 考点梳理 本文主要详细梳理高项:信息化、新型基础设施建设、两化融合、数字中国、数字化转型与元宇宙等内容。 阅读详情

相关推荐

Dataset - DeepFashion 服装数据集

Dataset - DeepFashion 服装数据集 [Dataset - DeepFashion] [Project - DeepFashion] 1. 服装类别和属性预测集 [Category - Attribute 下载] [百度网盘] 289,222 张服装图片 clothes images; 50 个服装类别 clothing categories 1,000 ...

长风破浪会有时,直挂云帆济沧海 2万+

javaEE5.0与J2EE1.4比较

<br />在新建web工程时,如果选的是javaEE5自带的jstl,仅能够使用tomcat6.x才能正常使用el <br />如果选的是j2ee1.4或者j2ee1.3时,需要手动添加jstl, <br />默认与tomcat5.x兼容,所以你修改一下web.xml,因为javaEE5.0和j2ee1.4,1.3是不一样的 <br />所以对jstl和el的支持也并不相同! <br />------------------------------------------<br />在新建web工程时,如

gyflyx的专栏 5198

PostgreSQL14 离线安装全攻略:从下载到配置详解

本文详细介绍了PostgreSQL14在无网络环境下的离线安装全流程,涵盖RPM包与源码编译两种主流方法。文章重点解析了安装前的系统环境检查、依赖包准备、数据库初始化、远程访问配置以及安装后的关键检查与性能调优,旨在帮助运维和开发人员在离线服务器上高效、稳定地部署PostgreSQL14数据库。

p5l2m9n4o6q的博客 722

【JavaEE进阶】 JavaScript

创建数组有两种⽅式1. 使⽤ new 关键字创建// Array 的 A 要⼤写2. 使⽤字⾯量⽅式创建 [常⽤]// 数组中保存的内容称为 "元素"注意: JS 的数组不要求元素是相同类型.这⼀点和 C, C++, Java 等静态类型的语⾔差别很⼤. 但是 Python, PHP 等动态类型语⾔也是如此.1. HTML是⼀种超⽂本标记语⾔, 主要⽤于⻚⾯内容的显⽰和排版.如果需要更漂亮的样式展⽰和⻚⾯效果, 需要搭配CSS和JavaScript来使⽤。

2401_83227065的博客 988

闲鱼客户端三重动态签名机制解析:x-sign、x-mini-wua与x-umt

在移动客户端安全通信中,设备级动态签名已成为主流App防范自动化攻击的核心手段。其原理是将设备指纹、运行时行为与可信硬件标识深度融合,生成不可复用、不可跨端、不可静态伪造的请求凭证。这类机制超越传统Token或Session鉴权,具备强上下文绑定性与实时熵值校验能力,广泛应用于电商、社交及开放平台等高风险接口场景。技术价值体现在有效识别模拟器、无头浏览器与集群化爬虫,同时保障多端一致性与合规数据对接。本文聚焦闲鱼客户端实际落地的x-sign(带设备上下文的混合签名)、x-mini-wua(小程序行为水印)与

weixin_35732273的博客 497

一个AI Agent顶十个软件,toB赛道正在大洗牌

一个AI Agent顶十个软件,toB赛道正在大洗牌

ith321的博客 1331

1.<JavaEE进阶可以学到什么>

本篇博客会讲到 一、JavaEE进阶学习内容: 1.框架的学习:Spring、Spring Boot、Spring MVC、MyBatis 2.大项目实践 3.源码阅读 二、JavaEE简介 B/S架构web开发流程 web前端开发(了解) web后端开发(重点) 三、什么是框架 四、学习编程思维方式(重点:学习建议) 学完JavaEE你的收获

m0_73456341的博客 1246

MATLAB实战:利用扫频数据重构系统伯德图的关键步骤

本文详细介绍了如何利用MATLAB处理扫频数据并重构系统伯德图的完整实战流程。内容涵盖数据导入与清洗、增益与相位的精确计算、频率响应数据对象(frd)的构建、数据平滑与插值处理,以及最终生成专业伯德图并进行关键参数(如相位裕度)标注的方法。文章重点解决了从实测“黑盒子”系统数据出发,获取直观频率响应特性曲线的核心问题,为控制系统分析与设计提供了实用指南。

weixin_29098117的博客 399

JavaEE day6 初识JavaScript

初识JS

a931394057的博客 1093

基于Landsat-8数据的山西省吕梁市地表温度反演研究过程(大气校正法)

1.数据下载:本实验采用的数据是 ①从地理空间数据云下载的来自landsat8 卫星,云量<=1%,时间为2017年5月12日的山西省吕梁市影像数据。为全面覆盖吕梁市,选用了两片影像。 ②吕梁市边界矢量图 2.数据预处理 ...

weixin_45747376的博客 6601

QGis二次开发 —— 5.2、基于qgis搭建离线地图服务并开发雷达扫描、无人机飞行跟踪等(附:源码及工程)

QGis二次开发 —— 5.2、基于qgis搭建离线地图服务并开发雷达扫描、无人机飞行跟踪等(附:源码及工程)

225

【Java EE】JavaEE导读,探寻 JavaEE:解锁企业级开发的璀璨密码与进阶指南

本文聚焦 JavaEE,深入剖析其发展历程、应用场景、开发原理与学习路径。JavaEE 脱胎于 Java SE,历经从 J2EE 到 Java EE,再到 Jakarta EE 的演变。它主要用于企业级开发,尤其是 Web 开发,基于 B/S 架构实现前后端交互。在学习 JavaEE 时,需先筑牢 Java 基础,掌握 Web 开发技术,包括前端的 HTML、CSS、JavaScript,后端的 Servlet、JSP 等。还要深入理解核心技术概念,借助 Spring、MyBatis 等开源框架提升开发效率

Code哈哈笑的博客 1543

Ghost卷积原理与构建YOLOv11的GhostNet变体

本文探讨了在边缘设备部署YOLOv11时使用Ghost卷积进行模型轻量化的实践经验。针对Jetson Nano的4GB内存限制,作者通过替换Backbone中的3x3标准卷积为Ghost卷积,实现了参数减少28%、推理速度提升38%,仅损失1.1%mAP的优化效果。文章详细介绍了Ghost卷积的实现原理、在YOLOv11中的具体替换策略,以及训练调参和部署优化的关键技巧。作者强调轻量化是计算效率与模型性能的权衡,建议工程团队保留原模型和Ghost变体两个版本,根据实际需求灵活切换。Ghost卷积的核心价值在

as1225120794的博客 169

【JavaEE进阶】导读

随着技术的发展, ⽆论是后端开发还是前端开发, 开发的时候都很少使⽤原⽣的代码,⽐如:JDBC、JS 等. 取⽽代之的是各种开发框架. 如:后端框架:Spring, SpringBoot, Mybatis等,前端常⽤的框架: Vue、Node等. 这些框架都有⼀个共同的特点, 就是简单, ⾼效. 这极⼤的提⾼了我们的开发效率. 那什么是框架呢?通俗的来讲: 框架是实现某种功能的半成品, 他提供了⼀些常⽤的⼯具类, 我们在框架的基础上, 可以更加⾼效的进⾏开发.

2401_83227065的博客 1548

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

黑马程序员之java,javase,JavaScript,javaee,javaweb的区别。

Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发:          1.Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Pla

等我到黑马,一切都好说!!! 4823

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

如何使用 Microsoft Script Edit 在 J2EE 中调试 JAVASCRIPT

 如何使用 Microsoft Script Edit 在 J2EE 中调试 JAVASCRIPT     在使用DWR开发J2EE程序的过程中,存在大量的 JAVASCRIPT 代码需要进行调试    平台:WINDOWS XP SP3  + IE 6    工具是 OFFICE 2003  的 Microsoft Script Edit 工具,在安装时候选择 OFFICE 工具

JavaDiablo的专栏 1547

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

JavaEE day7 初识JavaScript2

对象/函数/DOM树/事件驱动

a931394057的博客 767

j2ee5、j2ee4区别

在新建web工程时 如果选的是javaEE5自带的jstl,仅能够使用tomcat6.x才能正常使用el 如果选的是j2ee1.4或者j2ee1.3时,需要手动添加jstl, 默认与tomcat5.x兼容,所以你修改一下web.xml,因为javaEE5.0和j2ee1.4,1.3是不一样的 所以对jstl和el的支持也并不相同! j2ee1.4支持的是servlet2.4,jsp

__Apollos的技术专栏 1245

J2EE,JSP,Java的区别

J2EE,JSP,Java的区别 JSP就是用来做动态页面的,可以归属到J2EE系列中。Java 这个词的概括可能更广一些 ,因为Java包含3个领域,分别是: J2EE: 企业级开发,J2ME :嵌入式开发,J2SE :图形界面开发。 java包含三大分支: J2SE --java standard edition–标准版本,这个是下面两个的基础!一般是位于客户端的应用; J2ME–java Micro edition —般位于嵌入式应用,例如手机游戏J2EE --java Enterprise

qq_43780814的博客 1643

J2EE,JSP,Java,javascript的区别

J2EE,JSP,Java,javascript的区别 java包含三大分支:  1.J2SE --java standard edition--标准版本,这个是下面两个的基础!一般是位于客户端的应用;  2.J2ME--java Micro edition --一般位于嵌入式应用,例如手机游戏  3.J2EE --java Enterprise Editon --一般为服务器端程

Primary_wind的专栏 4609

在javaEE中外部的js文件如何和页面之间传递参数

问题:当我们在进行javaEE开发时(原生态开发,未利用框架),需要为页面引入外部JS脚本,但是在外部JS脚本中是没法利用EL表达式拿到我们想要的参数的,一个最简单的例子就是:当我们在页面点击某个按钮的时候,想要进行跳转,在外部JS中,需要改变location的值,此时需要用到工程的根目录 我们都知道在页面中可以利用EL表达式: ${pageContext.request.contextPath ...

一个成长中的程序员,期待用技术的眼光生活 682

J2EE实验 HTML与JavaScript实验总结

先贴代码效果图:Html页面MyHtml.html&lt;html lang="en"&gt; &lt;body&gt; &lt;h1 &gt;HTML基础-注册表单&lt;/h1&gt;&lt;p&gt; &lt;hr&gt; &lt;center&gt; &lt;meta http-equiv="Co

sinat_37964096的博客 3096

初识JavaEE

web(World Wide Web)即全球⼴域⽹,也称为万维⽹.简单来说,就是可以通过浏览器来和我们的程序进⾏交互。⽐如京东,淘宝,天猫,美团等⽹站项⽬。

Dxito_的博客 475

对JavaScript、JSP、Java及javaEE之间区别的理解

对JavaScript、JSP、Java及javaEE之间区别的理解 JavaScript和Java名字极为类似,相信不少的初学者或者准备学这些知识的人对于JavaScript、JSP、Java及JavaEE这几个感念理解都会混淆,有所疑惑。曾经的我也是常常把这几个感念混淆。后来查了很多资料,也对JavaScript、JSP及Java学习了一段时间。下面就他们之间的区别谈一下我的看法吧...

专注于此刻 1866

求某范围质数 J2EE版及JS版

一边吃夜宵,一边敲代码 先来个JS版本的 查找某范围质数 function $ (id) { return document.getElementById(id); } function isPrim (num) { if(num <=1) {return false}; if(num ==2) {return true}; var top = Ma

吃苦胆的野狼 806

javaee5.0与j2ee1.4

在新建web工程时,如果选的是javaEE5自带的jstl,仅能够使用tomcat6.x才能正常使用el 如果选的是j2ee1.4或者j2ee1.3时,需要手动添加jstl, 默认与tomcat5.x兼容,所以你修改一下web.xml,因为javaEE5.0和j2ee1.4,1.3是不一样的 所以对jstl和el的支持也并不相同! -----------------------...

java developer 212
上一篇: LeetCode刷题day1(移动零+复写零 Java版)
下一篇: Spring Boot 快速上手:从 Maven 到第一个 Controller
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值