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语言中通过
let或var声明变量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 对象:
windowlocationhistory
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这里不用配置,直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…...
Java日期时间调整的几种方式
一、Calendar类 我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。 Calendar类的…...
如何在Windows 11更新后解决C盘已满的问题?
Windows 11比Windows 10需要占用C盘更多的空间,在升级到Windows 11后,如果升级后出现问题,安装程序可以帮你退回到Windows 10。无论怎样,在升级到Windows 11后,系统会自动制作以前的数据的副本,这会占用大量…...
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 顺序文件(Sequential File) 6.2.4 索引文件(Index File&…...
华为OD机试真题 Java 实现【打印文件】【2023Q1 100分】
一、题目描述 有 5 台打印机打印文件,每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的优先级,其中数字越大优先级越高。 打印机会从自己的待打印队列中选择优先级最高的文件来打印。 如果存在两个优先级一样的文件,则选…...
基于LSB实现文本、图片、压缩包的隐藏
关于LSB的相关介绍: LSB全称为 Least Significant Bit(最低有效位),是一种基于图片最低有效位修改储存信息的隐写方法,在CTF杂项中经常会遇到,LSB属于空域算法中的一种,是将信息嵌入到图像点中…...
(万字长文)Linux——IO之重定向+缓冲区 +重定向 +缓冲区原理实现 +带重定向的简易版shell+标准输出标准错误
索引 文件描述符分配规则重定向 缓冲区1.什么是缓冲区2.缓冲区在哪里 重定向源码模拟实现缓冲区原理带重定向的简易版Xshell标准输入和标准错误 文件描述符分配规则 文件描述符的分配规则 从头遍历数组fd_array[],找到一个最小的,没有被使用的下标,分配…...
面试:js 延迟加载方式
相关知识点: js 延迟加载,也就是等页面加载完成之后再加载 JavaScript 文件。 js 延迟加载有助于提高页面加载速度 一般有以下几种方式: defer 属性 async 属性 动态创建 DOM 方式 使用 setTimeout 延迟方法 让 JS 最后加载 js 的加载…...
将Oracle数据文件导入SQL Server的方法
审计过程中,采集的业务数据有Oracle备份数据,备份文件的后缀名为.dmp。如何将*.dmp文件导入审计人员熟悉的SQL Server中呢?以下是现场审计数据导入方法介绍。 一、将*.dmp文件导入oracle数据库 *.dmp文件为Oracle数据库备份文件,因…...
《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序
《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序 题目1题目2题目3题目4题目5题目6总结 题目1 将下面的程序编译、连接,用 Debug 加载、跟踪,然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h,0789h,0abch,0def…...
剑指offer -- 二维数组中的查找
二维数组中的查找_牛客题霸_牛客网 (nowcoder.com) 暴力查找法: 是一种简单直接的解决方法,可以用于在二维数组中查找目标值。该方法的思路是遍历数组的每个元素,逐个与目标值进行比较。 具体步骤如下: 从数组的第一行第一列开始,…...
3. 自然语言处理NLP:具体用途(近义词类比词;情感分类;机器翻译)
一、求近义词和类比词 1. 近义词 方法一:在嵌入模型后,可以根据两个词向量的余弦相似度表示词与词之间在语义上的相似度。 方法二:KNN(K近邻) 2. 类比词 使用预训练词向量求词与词之间的类比关系。eg:man&a…...
Hibernate的FlushMode
一、Session中FlushMode的设置: 在事务开启前设置FlushMode属性,方法: // session.setFlushMode(FlushMode.Always|AUTO|COMMIT|NEVER|MANUAL)。Service public class TestService {Logger log LoggerFactory.getLogger(getClass());AutowiredEntityM…...
二线程序员的出路
最近长沙不太平。去年被动离职一拨人之后,HR一直强调降本增效,人人自危,挤走一拨人,反正会有大量内卷失败的一线程序员进来填坑。当然留就有人走,前同事除了几个出去搞培训创业(后面解散了)的之…...
MKS SERVO4257D 闭环步进电机_系列2 菜单说明
第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈&am…...
使用Actor-Critic的DDPG强化学习算法控制双关节机械臂
在本文中,我们将介绍在 Reacher 环境中训练智能代理控制双关节机械臂,这是一种使用 Unity ML-Agents 工具包开发的基于 Unity 的模拟程序。 我们的目标是高精度的到达目标位置,所以这里我们可以使用专为连续状态和动作空间设计的最先进的Deep…...
黑马学生入职B站1年,晒出21K月薪:我想跳槽华为
现在的Z时代,嘴上说着不要,身体却很诚实。 前两天,黑马发布了《2022年度互联网平均薪资出炉!高到离谱!》,信息传输、软件和信息技术服务业薪资遥遥领先!Z时代举头望着天花板,故作潇…...
一文看懂GPT风口,都有哪些创业机会?
新时代的淘金者,低附加价值的创业要谨慎,高附加价值、低技术门槛创业也要谨慎,主干道边上的创业也要谨慎。不少朋友看完不淡定了,干什么都谨慎,回家躺平好了,我有个朋友,靠ChatGPT,半…...
chatgpt赋能python:Python中的不确定尾数问题
Python中的不确定尾数问题 Python作为一种高级编程语言,被广泛应用于数据科学、机器学习、Web开发等众多领域。然而,Python在处理浮点数时会出现一些不确定尾数的问题,给程序员和数据分析员带来不少麻烦。本篇文章将介绍Python中不确定尾数的…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
