JavaWeb 课堂笔记 —— 02 JavaScript

【STM32/GD32】Keil uVision生成bin文件:从编译选项到Bootloader升级实战 本文详细讲解了如何在Keil uVision中配置STM32/GD32工程,使其在编译后自动生成Bootloader升级所需的bin文件。通过解析fromelf工具的使用、构建后命令的配置以及内存布局规划,深入阐述了bin文件在固件升级中的核心作用,并提供了串口Bootloader的实战框架与常见问题解决方案。 阅读详情

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。

01 什么是 JavaScript ?

JavaScript 是一门跨平台、面向对象的脚本语言,其使得网页可交互。

02 JavaScript 引入方式

标签:<script>

<!-- 内部脚本 -->
<script>
	alert("Hello JavaScript");
</script>

<!-- 外部脚本 -->
<script src="demo.js"></script>

03 JavaScript 基础语法

① 输出语句

<script>
	window.alert("Hello JavaScript"); //弹出警告框
    document.write("Hello JavaScript"); //写入HTML页面
    console.log("Hello JavaScript"); //浏览器控制台输出(F12)
</script>

注:console / kənˈsoʊl / 控制台。

② 变量

var a = 20;
a = "张蓝天";

注:var 为全局变量,可重复定义。

③ 数据类型

在这里插入图片描述

var a = 20;
alert(typeof a); //获取数据类型

④ 运算符

在这里插入图片描述

在这里插入图片描述

⑤ 流程控制语句

在这里插入图片描述

04 JavaScript 函数

//定义
function add(a, b){
    return a + b;
}

var add = function(a, b){
   	return a + b;
}

//调用
var result = add(1, 2);
alert(result);

05 JavaScript 对象

① Array

var arr = new Array(1, 2, 3, 4);
var arr = [1, 2, 3, 4];

arr[10] = "hello";
arr[9] = 'a';
arr[8] = true;

注:JavaScript数组相当于Java集合,其长度可变,类型可变。

在这里插入图片描述

<script>
    var arr = [1, 2, 3, 4];
    for(int i=0; i<arr.length; ++i){
        console.log(arr[i]);
    }
    
    arr.forEach(function(e){
        console.log(e); //仅遍历有值的元素
    }) 
    arr.forEach( (e) => {console.log(e);} ) //ES6 箭头函数 (...) => {...}
    
    arr.push(7, 8, 9);
    console.log(arr);
    
    arr.splice(2, 2); //start number
    console.log(arr);
</script>

② String

var str = new String("Hello JavaScript");
var str = "Hello JavaScript";

在这里插入图片描述

<script>
    var str = "  Hello JavaScript  ";
    
    console.log(str.length);
    console.log(str.charAt(4)); //o
    console.log(str.indexOf(o)); //4
    
    var str2 = str.trim();
    console.log(str2);
    
    console.log(str2.substring(0, 5)) //[start, end)
</script>

③ 对象

var user{
    //属性名:属性值
    name: "Tom";
    age: 10;
    gender: "male";
    //方法
    eat: function(){
        alert("干饭!");
    }
    drink(){
        alert("喝酒!");
    }
}

alert(user.name);
user.eat();

④ JSON

JavaScript Object Notation为通过JavaScript对像标记法书写的文本,由于其语法简单,层次结构鲜明,多用于作为数据载体,在网络中进行数据传输。

在这里插入图片描述

var 变量名 = '{"key1": value1, "key2": value2}'; //JSON字符串

var jsonStr = '{"name": "Tom", "age": 18, "address": {"北京", "上海", "西安"}}';

//JSON字符串 -> JavaScript对象
var obj = JSON.parse(jsonStr);
alert(obj.name);

//JavaScript对象 -> JSON字符串
var str = JSON.string(obj);
alert(atr);

⑤ BOM

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

  • Window:浏览器窗口对象
  • Navigator:浏览器对象
  • Screen:屏幕对象
  • History:历史记录对象
  • Location:地址栏对象

Ⅰ 浏览器窗口对象Window

window.alert("Hello Window");
alert("Hello Window");

在这里插入图片描述

<script>
	//confirm - 对话框 - 确认:true,取消:false
    var flag = confirm("确定删除吗?");
    alert(flag);
    
    //setInterval - 定时器 - 无限循环
    var i = 0;
    setInterval(function(){
        i++;
        console.log("第"i"次振翅");
    }, 2000)
    
    //setTimeout() - 延迟器 - 延期执行
    setInterval(function(){
        alert("Hello JavaScript");
    }, 3000) //毫秒
</script>

Ⅱ 地址栏对象Location

window.location.href;
location.href;

⑤ DOM

Document Object Model为文档对象模型,将标记语言的各部分封装为对象。

  • Document:整个文档对象
  • Element:元素(标签)对象
  • Attribute:属性对象
  • Text:文本对象
  • Comment:注释对象

在这里插入图片描述

JavaScript通过DOM 就能够对HTML文档进行操作:

  • 改变HTML元素的内容
  • 改变HTML元素的样式(CSS)
  • 对HTML DOM事件作出反应
  • 添加和制除HTML元素

Ⅰ 获取Element元素(标签)对象

在这里插入图片描述

Ⅱ 修改Element元素(标签)内容

<body>
    <img id="h1" src="img/off.gif"> <br><br>
    
    <div class="cls">传智教育</div> <br>
    <div class="cls">黑马程序员</div> <br>
    
    <input type="checkbox" name="hobby"> 电影
    <input type="checkbox" name="hobby"> 旅游
    <input type="checkbox" name="hobby"> 游戏
</body>

<script>
    //点亮灯泡
    var img = document.getElementById("h1");
    img.src = "img/on.gif";
    
    //very good
    var divs = document.getElementByClassName('cls');
    var div1 = divs[0];
    var div2 = divs[1];

    div1.innerHTML += "<font color="red">very good</font>"; 
    div2.innerHTML += "<font color="red">very good</font>";
    
    //勾选方框
    var ins = document.getElementByName("hobby");
    for(let i=0; i<ins.length; ++i){
        const check = ins[i];
      	check.checked = "true"; //问AI呗~
    }
</script>

在这里插入图片描述

06 JavaScript 事件监听

HTML事件是发生在HTML元素上的事情,比如按钮被点击、鼠标移动到元素上或者按下键盘按键,JavaScript可以在事件被侦测到时执行代码。

在这里插入图片描述

① 事件绑定

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

<body>
<input type="button" onclick="on()" value="按钮1">
</body>
<script>
    function on(){
        alert('我被点击啦!');
    }
</script>

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

<body>
<input type="button" id="btn" balue="按钮2">
</body>
    
<script>
    document.getElementById("btn").onclick=function(){
        alert('我被点击啦!');
    }
</script>

在这里插入图片描述

② 常见事件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

③ 案例

在这里插入图片描述

<!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>JS-事件-案例</title>
</head>
<body>

    <img id="light" src="img/on.gif"> <br>

    <input type="button" value="点亮" onclick="on()"> 
    <input type="button"  value="熄灭" onclick="off()">

    <br> <br>

    <input type="text" id="name" value="ITCAST" onfocus="lower()" onblur="upper()">
    <br> <br>

    <input type="checkbox" name="hobby"> 电影
    <input type="checkbox" name="hobby"> 旅游
    <input type="checkbox" name="hobby"> 游戏
    <br>

    <input type="button" value="全选" onclick="checkAll()"> 
    <input type="button" value="反选" onclick="reverse()">

</body>

<script>

    //1. 点击 "点亮" 按钮, 点亮灯泡; 
    // 点击 "熄灭" 按钮, 熄灭灯泡; 
    function on(){ //事件监听
        var img = document.getElementsById("light"); //DOM
        img.src="img/on.gif";
    }

    function off(){
        var img = document.getElementsById("light");
        img.src="img/off.gif";
    }

    //2. 输入框聚焦后, 展示小写; 
    // 输入框离焦后, 展示大写; 
    function lower(){
        var input = document.getElementById("name");
        input.value = input.toLowerCase();
    }

    function upper(){
        var input = document.getElementById("name");
        input.value = input.toUpperCase();
    }

    //3. 点击 "全选" 按钮使所有的复选框呈现选中状态 ; 
    // 点击 "反选" 按钮使所有的复选框呈现取消勾选的状态 ; 
    function checkAll(){
        var checks = document.getElementsByName("hobby");
        for(let i=0; i<checks.length; ++i){
            const check = checks[i];
            check.checked = true;
        }
    }

    function reverse(){
        var checks = document.getElementsByName("hobby");
        for(let i=0; i<checks.length; ++i){
            const check = checks[i];
            check.checked = false;
        }
    }

</script>
</html>
揭秘大数据领域数据产品的开发流程 随着企业数字化转型加速,数据产品已成为驱动业务增长的核心载体。不同于传统软件产品,数据产品以数据为核心生产要素,通过数据采集、处理、分析与可视化,为用户提供决策支持或智能化服务。本文旨在系统性拆解数据产品开发的全生命周期,涵盖需求分析、数据工程、模型构建、产品设计、上线运维等关键环节,揭示各阶段的技术原理、实施路径与最佳实践,帮助技术团队与产品团队建立标准化开发流程。核心概念:定义数据产品本质,对比传统软件产品差异技术体系:拆解数据采集、处理、建模、可视化的技术栈与算法原理。 阅读详情

相关推荐

Unity2020 发布Android包,下载安装配置JDK、SDK、NDK详细教程

配置成功页面 JDK、SDK、NDK

qq_41263535的博客 1万+

JavaWeb 课堂笔记 —— 03 Vue

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。

Celeste的博客 1426

VLA算法总结对比——RT1 / RT2 / Pi0 / Octo/ RDT / OpenVLA

本文主要针最近比较经典的VLA算法进行对比总结,暂不涉及到代码细节和实验细节上的展开,仅仅是从大面上掌握下目前VLA的一些思路和方法。

weixin_44580210的博客 9502

JavaWeb笔记整理——HTML、CSS、JavaScript

Java程序员必备前端技术栈——Html、css、JavaScript以及应用笔记详细整理

i_Water_boy的博客 1514

统信UOS系统网络服务异常排查:WIFI图标消失与网络设置缺失的解决方案

本文详细解析了统信UOS系统WIFI图标消失与网络设置缺失的常见问题,提供了从基础修复到进阶排查的完整解决方案。重点分析了NetworkManager服务异常的根本原因,包括系统更新中断、权限配置错误等,并给出实用的命令行操作指南和预防措施,帮助用户快速恢复网络功能。

weixin_29234239的博客 622

从零到一:如何用YOLOv8和PyQt5打造一个高效的路面坑洞检测系统

本文详细介绍了如何利用YOLOv8和PyQt5开发一个高效的路面坑洞检测系统。从环境配置、数据采集标注到模型训练优化,再到PyQt5界面开发与系统集成,提供了完整的实战指南。该系统结合深度学习技术,显著提升了道路检测的准确性和效率,适用于各类道路维护场景。

weixin_29047919的博客 308

JavaWeb 课堂笔记 —— 04 Ajax

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。

Celeste的博客 667

基于YOLOv13+CBAM注意力机制

本教程详细介绍了CBAM注意力机制的原理及其在YOLOv13中的集成方法。CBAM通过通道注意力和空间注意力两个模块,动态调整特征权重以增强模型性能。通道模块利用池化操作和共享MLP生成通道权重,空间模块则通过池化和卷积生成空间权重。教程提供了在YOLOv13中实现CBAM的具体步骤,包括模块代码定义、模型配置修改等关键环节,帮助开发者在目标检测任务中提升模型表现。

FJN110的博客 305

JavaWeb复习-02JavaScript

DOCTYPE html > < html lang = " en " > < head > < meta charset = " UTF-8 " > < meta name = " viewport " content = " width=device-width, initial-scale=1.0 " > < title > Document </ title > </ head > < body > < script > //自定义对象 var user = {alert("用膳~");

weixin_74143480的博客 1127

Unity 编辑器篇|(一)MenuItem菜单栏

"一级菜单/二级菜单上/三级菜单""一级菜单/二级菜单中 %#_B""一级菜单/二级菜单下 %&_C""一级菜单/二级菜单中 %#_B""一级菜单/二级菜单下 %&_C""GameObject/二级菜单""CONTEXT/组件名/菜单名""一级菜单/二级菜单上 #_A""Assets/二级菜单""一级菜单/二级菜单下""一级菜单/二级菜单上""一级菜单/二级菜单中""一级菜单/二级菜单下""一级菜单/二级菜单下""一级菜单/二级菜单上""一级菜单/二级菜单中""一级菜单/二级菜单下""自定义/Test"

游戏开发小Y的博客 13万+

Challenge 6 - OSCP C

开放了161端口,直接snmpbulkwalk扫描得到账号密码试了那几个web端口,发现可以登录8083的vesta,但是需要用户名大写Jack接着登录之后里面可以创建计划任务,直接弄个反弹shell,一分钟回弹。得到shell后,运行linpeas.sh提供了几个可能的漏洞,挨个试一下。

羽的博客 4142

全网最强JavaWeb笔记 | 万字长文爆肝JavaWeb开发——day02-JavaScript-Vue

万字长文爆肝黑马程序员2023最新版JavaWeb教程。这套教程打破常规,不再局限于过时的老套JavaWeb技术,而是与时俱进,运用的都是企业中流行的前沿技术。笔者认真跟着这个教程,再一次认真学习一遍JavaWeb教程,温故而知新,对JavaWeb开发也有了更加深入细致的了解。因此笔者做了全网最全面详细的学习笔记,通篇图文并茂,

qq_45832461的博客 1493

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4499

JavaWeb 课堂笔记 —— 05 前端工程化

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。

Celeste的博客 414

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JavaWeb基础学习笔记——前端篇02(JavaScript)

内部脚本,可在html任意位置插入外部脚本,src选择js文件位置。

Mao_J_Leaf的博客 833

精雕软件(JDpaint) 5.5 绿色版

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

雷丰阳JavaWeb学习笔记(一):HTML、CCS、JavaScript笔记

雷丰阳JavaWeb学习笔记(一):HTML、CCS、JavaScript笔记 此处学前端三大技术只是简单初略的学习,了解为主,是为后端做准备 HTML:格式 CSS:表现 JavaScript:交互 HTML HTML:Hyper Text Markup Language(超文本标记语言) 标记语言==标签语言; 标签就是一堆尖括号包围的关键字(标签名),有开始标签和结束标签;也有结束标签 ;...

FourthC的博客 2301

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JavaScript基础知识——黑马JavaWeb学习笔记

本文为学习黑马程序员JavaWeb开发教程中JS部分学习笔记

初学者个人学习记录、梳理 2259

【JavaWeb】入门一篇就够了—学习笔记整理

顺着尚硅谷的资料一路学习过来的,整理了JavaWeb基础篇的内容,一共12章的内容,这里做一下目录整理。

一棵灬大树的博客 7777

02JavaWeb——JavaScript-Vue(项目实战)

通过JS/js效果演示提供资料进行效果演示,通过浏览器打开,我们点击主题5按钮,页面的主题发生 了变化,所以js可以让我们的页面更加的智能,让页面和用户进行交互。function 函数名(参数1,参数2..){要执行的代码因为JavaScript是弱数据类型的语言,所以有如下几点需要注意:形式参数不需要声明类型,并且JavaScript中不管什么类型都是let或者var去声明,加上也没有意义。返回值也不需要声明类型,直接return即可接下来我们需要在VS Code中编写代码来演示。

qq_56947957的博客 1918

JavaWeb笔记-JavaScript基础

JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言,是用来控制网页行为,实现页面的交互效果。JavaScript和Java是完全不同的语言,但基本语法类似组成ECMAScript: 规定了JS基础语法核心知识,包括变量、数据类型、流程控制、函数、对象等。BOM:浏览器对象模型,用于操作浏览器本身,如:页面弹窗、地址栏操作、关闭窗口等。DOM:文档对象模型,用于操作HTML文档,如:改变标签内的内容、改变标签内字体样式等。格式//定义方法var 对象名 = {

超级苦力怕的博客 1009

javaweb笔记

JavaWeb 是用 Java 构建网站“大脑”的技术,负责处理用户请求、操作数据,并动态生成网页内容。就像餐厅后厨,虽不可见,但支撑着整个网站的运作!

m0_74140204的博客 1082

【黑马】JavaScript课堂笔记

本笔记非原创,来自博主学习黑马的JavaWeb的配套资料,分享给有需要的人,如若侵权麻烦联系删除。 今日内容 1. JavaScript基础 JavaScript: * 概念: 一门客户端脚本语言 * 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不需要编译,直接就可以被浏览器解析执行了 * 功能: * 可以来增强用户和html页面的交互过程,可以...

VICI的博客 1103

JavaWeb 学习笔记(Day02)之 JS

</script>标签之间(2) 在HTML文档中,可以在任意地方,放置任意数量的<script(3) 一般会把脚本置于<body>元素的底部,可改善显示速度<script>

2302_79807388的博客 1092

JavaWeb开发笔记合集

本文整理了JavaWeb开发的系统性学习路线,涵盖15天的课程内容。从Web前端基础(HTML/CSS/JavaScript/Vue.js)到后端技术(SpringBoot/MySQL/MyBatis),再到进阶内容(AOP/事务管理/Maven高级应用),完整覆盖JavaWeb开发全栈知识。特别包含Maven私服配置、前后端分离开发、JWT认证等实用技术,并以综合案例贯穿实践。适合从入门到进阶的系统化学习,配套详细笔记资源。 写于2024/07/15

ZZHow Blog 600

JavaWeb全套学习笔记(超详细、快速入门、实操练习记录)——持续更新中

CSS全称(层叠样式表),它的作用是给 HTML 页面加上样式,比如颜色、字体、布局等。HTML 是骨架,CSS 是化妆和衣服。HTML =数据结构(页面结构)CSS =样式(相当于皮肤/美化)JS =行为(交互逻辑,像控制器)→ 当前页打开(默认)。→ 新标签页打开,最常用。→ 在框架结构里使用。target="自定义名字"→ 指定的 iframe 里打开。

2301_82143894的博客 1273

尚硅谷JavaWEB学习笔记1(自整理,自用)

JavaWEB学习笔记 1、HTML 1.1、B/S软件的结构 Javase C/S结构 Client Server客户端----->服务器 B/S结构 Brower Server结构 浏览器----->服务器 1.2、前端的开发流程 美术实现---------------------------------------------->前端工程师------------------------------------------->java后台 网页设计师根据需求设计

qq_43130076的博客 6500
上一篇: JavaWeb 课堂笔记 —— 01 HTML
下一篇: JavaWeb 课堂笔记 —— 03 Vue
东方芷兰
博客等级 码龄5年 426粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值