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

Java阶段三Day03

Java阶段三Day03

文章目录

  • Java阶段三Day03
    • JavaScript语言
      • JavaScript概述
        • 什么是JavaScript
        • 语言特点
        • 一门编程语言包括哪些内容
    • 语言基础
      • 变量
      • JavaScript常用数据类型
      • 运算符
      • 各种语句
      • 如何在HTML页面中引入JavaScript代码
      • 方法
      • 和页面相关的方法
    • BOM和DOM
      • 什么是BOM
        • window对象
        • location对象
        • history对象
      • 什么是DOM
    • 前端MVC设计模式
    • 前端MVVM设计模式

JavaScript语言

JavaScript概述

注意:Java是Java,JS是JS

什么是JavaScript

  • JavaScript(简称“JS”)由Netscape公司在1995年首次推出,最初被称为 Mocha,然后改名为 LiveScript,最终被命名为 JavaScript。目前已经成为最受欢迎的编程语言之一。
  • JavaScript通常用于Web页面中,通过HTML和CSS来实现交互效果和动态内容。
  • JavaScript和Java虽然名称相似,但实际上是两种完全不同的编程语言。
  • 作用负责给页面添加动态效果

语言特点

  • 动态类型:JavaScript是一种弱类型的语言,不需要指定变量类型,变量的类型在运行时根据值自动推断。
  • 解释性:JavaScript是一种解释型语言,不需要编译就可以直接在浏览器中运行。
  • 基于对象:JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

一门编程语言包括哪些内容

  • 变量
  • 数据类型
  • 运算符
  • 各种语句
  • 方法
  • 面向对象

语言基础

变量

  • JavaScript语言属于弱类型语言,声明变量不需要指定类型
  • JavaScript语言中通过letvar声明变量
    • let声明的变量,作用域和Java语言类似,块级作用域(推荐使用
    • var声明的变量,全局作用域

JavaScript常用数据类型

  • 基本数据类型

    • 字符串(String)、数字(Number)、布尔(Boolean)、未定义(Undefined)
  • 引用类型

    • 对象(Object)、数组(Array)、函数(Function)

获取变量类型的方式: typeof 变量名;

运算符

  • 算术运算符:+ 、 - 、 * 、/ 、 %

    • 除法运算会自动根据结果转换整数或小数

      • java:int x = 5; int y=2; int z = x/y; z=2
      • js:let x = 5; let y=2; let z = x/y; z=2.5 x=6 z=3
  • 关系运算符:> 、< 、>= 、<= 、!= 、== 、===

    • ==:先统一等号两边变量的类型,再比较值 “666”==666 true
    • ===:先比较类型,类型相同后再比较值 “666”===666 false
  • 逻辑运算符:&& 、|| 、! 只支持短路与 和 短路或

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

  • 三目运算符:条件?值1:值2

各种语句

  • 分支语句:if 和 else
  • for 新循环:for(Person p : persons) JS: for(let p of persons)
  • while
  • switch case

如何在HTML页面中引入JavaScript代码

引入方式:

  • 内联:在标签的事件属性中添加JS代码,当事件触发时执行

    • 事件:指系统提供的一系列时间点 .
    • 点击事件:当用户点击元素的时间点.
  • 内部:在页面的任意位置可以添加script标签,在标签体内写js代码, 建议写在body结束标签的附近

  • 外部:在单独的js文件中写js代码, 在html页面中通过script标签的src属性引入, 如果script标签引入了js文件则不能在标签体内继续写js代码

方法

  • Java语言的方法和JavaScript的方法对比:

    • Java:public 返回值 方法名(参数列表){方法体}
    • JS:function 方法名(参数列表){方法体}
  • 三种定义方法的方式:

    • function 方法名(参数列表){方法体}
    • let 方法名 = function(参数列表){方法体}
    • let 方法名 = new Function(“参数1”,“参数2”,“方法体”);

和页面相关的方法

  • 通过选择器获取页面中的元素对象

    • let 元素对象 = document.querySelector(“选择器”);
  • 获取和修改控件的值

    • input.value 获取
    • input.value=“xxx” 修改
  • 获取和修改元素的文本内容 例:

    文本内容

    • 变量.innerText 获取
    • 变量.innerText = “xxx ” 修改

BOM和DOM

什么是BOM

BOM(Browser Object Model)是指浏览器对象模型,它是JavaScript 与浏览器之间进行交互的接口。BOM 提供了一组对象,这些对象代表着浏览器相关内容,并提供了访问和控制这些对象的方法

以下是一些常见的 BOM 对象:

  • window
  • location
  • history

window对象

window对象是JavaScript中表示当前浏览器窗口的内置全局对象。它包含了浏览器窗口的所有属性和方法,可以通过该对象来访问和控制当前窗口的各种行为。

常用方法:

方法介绍
isNaN(变量)判断变量是否是NaN
parseInt()将字符串或小数转成整数
parseFloat()将字符串转成小数
alert(“xxx”)弹出提示框
confirm(“xxx”)弹出确认框
prompt(“xxx”)弹出文本框

location对象

常用方法:

方法介绍
location.href获取或修改浏览器的请求地址
location.reload()刷新页面

history对象

常用方法:

方法介绍
history.length历史页面的数量
history.back()返回上一页面 后退
hisotry.forward()前往下一页面 前进
history.go(n)n正值代表前进 n负值代表后退 0代表刷新

什么是DOM

Document Object Model 文档对象模型, 包含和页面相关的内容

  • 通过选择器获取页面中的元素对象

    • let 元素对象 = document.querySelector(“选择器”);
  • 获取和修改控件的值 元素对象.value

  • 获取和修改元素的文本内容 元素对象.innerText

  • 创建元素对象

    • let d = document.createElement(“div”);
  • 添加元素到某个元素里面

    • 元素对象.append(新元素);

前端MVC设计模式

MVC设计模式就是将实现前端业务的所有代码划分为三部分

  • M:model 模型 , 对应数据相关代码
  • V:View 视图, 对应的是页面标签相关
  • C:Controller 控制器, 对应的是将数据显示到页面中的过程代码

前端MVC设计模式存在弊端:在Controller控制器部分,需要频繁的进行DOM相关操作(遍历查找元素),比较浪费资源 , MVVM设计模式可以解决此问题

前端MVVM设计模式

MVVM设计模式也是将实现前端业务的所有代码划分为三部分

  • M:model 模型 , 对应数据相关代码
  • V:View 视图, 对应的是页面标签相关
  • VM:视图模型, 视图模型负责将页面中可能发生改变的元素和某个变量在内存中进行绑定, 并对变量进行监听,当变量发生改变时,会从内存中找到和变量所对应的元素, 让元素进行改动,这样就不用像MVC设计模式中通过遍历查找的方式查找元素了,从而提高执行的效率。

相关文章:

Java阶段三Day03

Java阶段三Day03 文章目录 Java阶段三Day03JavaScript语言JavaScript概述什么是JavaScript语言特点一门编程语言包括哪些内容 语言基础变量JavaScript常用数据类型运算符各种语句如何在HTML页面中引入JavaScript代码方法和页面相关的方法 BOM和DOM什么是BOMwindow对象location对…...

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第七届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.h:main.h:main.h: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置&#xff0c;直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…...

Java日期时间调整的几种方式

一、Calendar类 我们现在已经能够格式化并创建一个日期对象了&#xff0c;但是我们如何才能设置和获取日期数据的特定部分呢&#xff0c;比如说小时&#xff0c;日&#xff0c;或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。 Calendar类的…...

如何在Windows 11更新后解决C盘已满的问题?

Windows 11比Windows 10需要占用C盘更多的空间&#xff0c;在升级到Windows 11后&#xff0c;如果升级后出现问题&#xff0c;安装程序可以帮你退回到Windows 10。无论怎样&#xff0c;在升级到Windows 11后&#xff0c;系统会自动制作以前的数据的副本&#xff0c;这会占用大量…...

DJ6-1/2/3 文件系统

目录 6.1 文件系统概述 6.1.1 文件、记录和数据项 6.1.2 文件类型 6.1.3 文件系统模型 6.1.4 对文件的操作 6.2 文件的逻辑结构 6.2.1 文件逻辑结构的类型 6.2.2 顺序文件&#xff08;Sequential File&#xff09; 6.2.4 索引文件&#xff08;Index File&…...

华为OD机试真题 Java 实现【打印文件】【2023Q1 100分】

一、题目描述 有 5 台打印机打印文件,每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的优先级,其中数字越大优先级越高。 打印机会从自己的待打印队列中选择优先级最高的文件来打印。 如果存在两个优先级一样的文件,则选…...

基于LSB实现文本、图片、压缩包的隐藏

关于LSB的相关介绍&#xff1a; LSB全称为 Least Significant Bit&#xff08;最低有效位&#xff09;&#xff0c;是一种基于图片最低有效位修改储存信息的隐写方法&#xff0c;在CTF杂项中经常会遇到&#xff0c;LSB属于空域算法中的一种&#xff0c;是将信息嵌入到图像点中…...

(万字长文)Linux——IO之重定向+缓冲区 +重定向 +缓冲区原理实现 +带重定向的简易版shell+标准输出标准错误

索引 文件描述符分配规则重定向 缓冲区1.什么是缓冲区2.缓冲区在哪里 重定向源码模拟实现缓冲区原理带重定向的简易版Xshell标准输入和标准错误 文件描述符分配规则 文件描述符的分配规则 从头遍历数组fd_array[],找到一个最小的&#xff0c;没有被使用的下标&#xff0c;分配…...

面试:js 延迟加载方式

相关知识点&#xff1a; js 延迟加载&#xff0c;也就是等页面加载完成之后再加载 JavaScript 文件。 js 延迟加载有助于提高页面加载速度 一般有以下几种方式&#xff1a; defer 属性 async 属性 动态创建 DOM 方式 使用 setTimeout 延迟方法 让 JS 最后加载 js 的加载…...

将Oracle数据文件导入SQL Server的方法

审计过程中&#xff0c;采集的业务数据有Oracle备份数据&#xff0c;备份文件的后缀名为.dmp。如何将*.dmp文件导入审计人员熟悉的SQL Server中呢&#xff1f;以下是现场审计数据导入方法介绍。 一、将*.dmp文件导入oracle数据库 *.dmp文件为Oracle数据库备份文件&#xff0c;因…...

《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序

《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序 题目1题目2题目3题目4题目5题目6总结 题目1 将下面的程序编译、连接&#xff0c;用 Debug 加载、跟踪&#xff0c;然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h,0789h,0abch,0def…...

剑指offer -- 二维数组中的查找

二维数组中的查找_牛客题霸_牛客网 (nowcoder.com) 暴力查找法: 是一种简单直接的解决方法&#xff0c;可以用于在二维数组中查找目标值。该方法的思路是遍历数组的每个元素&#xff0c;逐个与目标值进行比较。 具体步骤如下&#xff1a; 从数组的第一行第一列开始&#xff0c;…...

3. 自然语言处理NLP:具体用途(近义词类比词;情感分类;机器翻译)

一、求近义词和类比词 1. 近义词 方法一&#xff1a;在嵌入模型后&#xff0c;可以根据两个词向量的余弦相似度表示词与词之间在语义上的相似度。 方法二&#xff1a;KNN&#xff08;K近邻&#xff09; 2. 类比词 使用预训练词向量求词与词之间的类比关系。eg&#xff1a;man&a…...

Hibernate的FlushMode

一、Session中FlushMode的设置&#xff1a; 在事务开启前设置FlushMode属性&#xff0c;方法: // session.setFlushMode(FlushMode.Always|AUTO|COMMIT|NEVER|MANUAL)。Service public class TestService {Logger log LoggerFactory.getLogger(getClass());AutowiredEntityM…...

二线程序员的出路

最近长沙不太平。去年被动离职一拨人之后&#xff0c;HR一直强调降本增效&#xff0c;人人自危&#xff0c;挤走一拨人&#xff0c;反正会有大量内卷失败的一线程序员进来填坑。当然留就有人走&#xff0c;前同事除了几个出去搞培训创业&#xff08;后面解散了&#xff09;的之…...

MKS SERVO4257D 闭环步进电机_系列2 菜单说明

第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口&#xff0c;支持MODBUS-RTU通讯协议&#xff0c;内置高效FOC矢量算法&#xff0c;采用高精度编码器&#xff0c;通过位置反馈&am…...

使用Actor-Critic的DDPG强化学习算法控制双关节机械臂

在本文中&#xff0c;我们将介绍在 Reacher 环境中训练智能代理控制双关节机械臂&#xff0c;这是一种使用 Unity ML-Agents 工具包开发的基于 Unity 的模拟程序。 我们的目标是高精度的到达目标位置&#xff0c;所以这里我们可以使用专为连续状态和动作空间设计的最先进的Deep…...

黑马学生入职B站1年,晒出21K月薪:我想跳槽华为

现在的Z时代&#xff0c;嘴上说着不要&#xff0c;身体却很诚实。 前两天&#xff0c;黑马发布了《2022年度互联网平均薪资出炉&#xff01;高到离谱&#xff01;》&#xff0c;信息传输、软件和信息技术服务业薪资遥遥领先&#xff01;Z时代举头望着天花板&#xff0c;故作潇…...

一文看懂GPT风口,都有哪些创业机会?

新时代的淘金者&#xff0c;低附加价值的创业要谨慎&#xff0c;高附加价值、低技术门槛创业也要谨慎&#xff0c;主干道边上的创业也要谨慎。不少朋友看完不淡定了&#xff0c;干什么都谨慎&#xff0c;回家躺平好了&#xff0c;我有个朋友&#xff0c;靠ChatGPT&#xff0c;半…...

chatgpt赋能python:Python中的不确定尾数问题

Python中的不确定尾数问题 Python作为一种高级编程语言&#xff0c;被广泛应用于数据科学、机器学习、Web开发等众多领域。然而&#xff0c;Python在处理浮点数时会出现一些不确定尾数的问题&#xff0c;给程序员和数据分析员带来不少麻烦。本篇文章将介绍Python中不确定尾数的…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...