当前位置: 首页 > 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中不确定尾数的…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...