JavaScript学习|JavaScript 引入方式、JavaScript 基础语法、JavaScript 对象、BOM、DOM、事件监听、事件绑定

JavaScript 能做什么

1.能够改变文本内容

2.能够改变图像的src属性值

3.能够进行表单验证等

JavaScript 引入方式

内部脚本

1.内部脚本:将 JS代码定义在HTML页面中,JavaScript代码必须位于<script>与</script>标签之间。在 HTML 文档中可以在任意地方,放置任意数量的<script>。一般把脚本置于<body>元素的底部,可改善显示速度,因为脚本执行会拖慢显示。

外部脚本

2.外部脚本:将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中

注意:
外部脚本不能包含<script>标签,<script>标签不能自闭合

JavaScript 基础语法

书写语法

1.区分大小写:与Java 一样,变量名、函数名以及其他一切东西都是区分大小写的
2.每行结尾的分号可有可无
3.注释:单行注释:// 注释内容;多行注释:/*注释内容 */
4.大括号表示代码块

输出语句

1.使用 window.alert()写入警告框
2.使用 document.write()写入HTML输出
3.使用 console.log()写入浏览器控制台

变量

JavaScript 中用 var 关键字来声明变量

JavaScript 是一门弱类型语言,变量可以存放不同类型的值

变量名需要遵循如下规则:
1.组成字符可以是任何字母、数字、下划线(_)或美元符号($)
2.数字不能开头,建议使用驼峰命名

3.ECMAScript6新增了 let 关键字来定义变量。它的用法类似于 var,但是所声明的变量,只在 let 关键字所在的代码块内有效,且不允许重复声明。

4.ECMAScript6新增了 const关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变。

数据类型

运算符

==:

1.判断类型是否一样,如果不一样,则进行类型转换

2.再去比较其值

===:

1.判断类型是否一样,如果不一样,直接返回false

2.再去比较其值

流程控制语句

函数

函数(方法)是被设计为执行特定任务的代码块
定义:JavaScript 函数通过 function 关键词进行定义,语法为:

注意:
形式参数不需要类型。因为JavaScript是弱类型语言
返回值也不需要定义类型,可以在函数内部直接使用return返回即可

调用:函数名称(实际参数列表);

定义方式二:

JavaScript 对象

Array

JavaScript Array对象用于定义数组

String

自定义对象

BOM

Browser Object Model 浏览器对象模型
JavaScript 将浏览器的各个组成部分封装为对象
组成:
Window:浏览器窗口对象.
Navigator:浏览器对象
Screen:屏幕对象.
History:历史记录对象
Location:地址栏对象

Window

Window:浏览器窗口对象
获取:直接使用 window,其中window.可以省略

属性:获取其他 BOM对象

方法

alert

window.alert("abc")

alert("bbb"); 二者功能相同

confirm

点击确定按钮,返回true,点击取消按钮,返回false

setTimeout

setTimeout(function,毫秒值):在一定的时间间隔后执行一个function,只执行一次

setInterval

setInterval(function,秒值):在一定的时间间隔后执行一个function,循环执行

History

History:历史记录
获取:使用 window.history获取,其中window.可以省略

Location

Location:地址栏对象
获取:使用 window.location获取,其中window.可以省略

DOM

 Document Object Model 文档对象模型
将标记语言的各个组成部分封装为对象
Document:整个文档对象
Element:元素对象
Attribute:属性对象
Text:文本对象
Comment:注释对象

JavaScript 通过 DOM,就能够对 HTML进行操作了
改变 HTML元素的内容
改变 HTML元素的样式(CSS)
对 HTMLDOM 事件作出反应
添加和删除 HTML 元素

HTML中的Element对象可以通过Document对象获取,而Document对象是通过window对象获取的。Document对象中提供了以下获取Element元素对象的函数:

案例:通过DOM操作,完成如下效果实现

1. 点亮灯泡
2.将所有的div标签的标签体内容后面加上:very good
3.使所有的复选框呈现被选中的状态

html本身的body

1. 点亮灯泡

根据img的id获取到该元素,img.src方法重新设置图片的路径地址

2.将所有的div标签的标签体内容后面加上:very good

通过div标签名获取到文本标签的数组,遍历每个标签,然后用innerHTML方法设置修改后的文本内容

3.使所有的复选框呈现被选中的状态

根据name属性获取到多选框的元素数组,通过checked=true将每个复选框设置被选中。

事件监听

事件:HTML事件是发生在HTML元素上的“事情”。比如:
◆ 按钮被点击
◆鼠标移动到元素上
◆ 按下键盘按键
●事件监听:JavaScript可以在事件被侦测到时 执行代码。

事件绑定

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

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

常见事件

案例:通过事件监听及DOM操作,完成如下效果实现

1. 点击“点亮”按钮 点亮灯泡,点击“熄灭”按钮 熄灭灯泡。
2.输入框鼠标聚焦后,展示小写;鼠标离焦后,展示大写。
3. 点击“全选”按钮使所有的复选框呈现被选中的状态,点击“反选”按钮使所有的复选框呈现取消勾选的状态

1. 点击“点亮”按钮 点亮灯泡,点击“熄灭”按钮 熄灭灯泡。

首先在两个按钮标签上分别绑定两个鼠标点击事件

在script标签中编写绑定的两个方法的具体操作

2.输入框鼠标聚焦后,展示小写;鼠标离焦后,展示大写。

首先在输入框上,绑定一个鼠标聚焦方法和一个鼠标离焦方法

在script标签中编写两个方法的具体内容


3. 点击“全选”按钮使所有的复选框呈现被选中的状态,点击“反选”按钮使所有的复选框呈现取消勾选的状态

在全选和反选两个按钮中分别绑定两个方法

在script标签中编写两个方法的具体内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

家庭电脑私网如何访问阿里云服务器的指定端口

这里我们以在阿里云服务器上部署一个redis server 服务&#xff0c;对外开放6379端口为例子&#xff0c;其他端口类似。 1.获取当前电脑主机对应的公网IP, 可以https://tool.lu/ip/通过这个网站拿到。 2.阿里云服务器控制台设置防火墙&#xff0c;如下图所示&#xff0c;直接添…

Llama模型家族之Stanford NLP ReFT源代码探索 (三)reft_model.py代码解析

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

RapidMiner数据挖掘4 —— 决策树

0. 序章 0.1 文本说明 所有应用程序操作的名称和编程说明都以黄色背景书写&#xff0c;问题以蓝色背景书写&#xff0c;以方便他们在文本中识别。 在整个课程中&#xff0c;请逐步遵循所有说明&#xff0c;并确保获得预期结果&#xff0c;然后再继续下一部分或问题。 通过在Ub…

⌈ 传知代码 ⌋ 以思维链为线索推理隐含情感

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

Linux网络命令——tcpdump

tcpdump是Linux下的一个网络数据采集分析工具&#xff0c;也就是常说的抓包工具 tcpdump 核心参数 tcpdump [option] [proto] [dir] [type] 例如&#xff1a;$ tcpdump -i eth0 -nn -s0 -v port 80 option 可选参数&#xff1a; -i : 选择要捕获的接口&#xff0c;通常是以太…

定时器中断计数

1.定时器中断配置步骤 &#xff08;1&#xff09;RCC开启时钟。 &#xff08;2&#xff09;选择时基单元的时钟源&#xff08;内部时钟源&#xff09;。 &#xff08;3&#xff09;配置时基单元&#xff1a;预分频器、自动重装器、计数模式等。 &#xff08;4&#xff09;配…

OpenGauss数据库-3.数据库管理

第1关&#xff1a;创建数据库 gsql -d postgres -U gaussdb -w passwd123123 create database accessdb with ownergaussdb templatetemplate0;第2关&#xff1a;修改数据库 gsql -d postgres -U gaussdb -w passwd123123 alter database accessdb rename to human_tpcds; 第…

OpenGauss数据库-6.表空间管理

第1关&#xff1a;创建表空间 gsql -d postgres -U gaussdb -W passwd123123 CREATE TABLESPACE fastspace OWNER omm relative location tablespace/tablespace_1; 第2关&#xff1a;修改表空间 gsql -d postgres -U gaussdb -W passwd123123 ALTER TABLESPACE fastspace R…

C++ 贪心算法——跳跃游戏、划分字母区间

一&#xff1a;跳跃游戏 55. 跳跃游戏 题目描述&#xff1a;给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1…

《大道平渊》· 拾壹 —— 商业一定是个故事:讲好故事,员工奋发,顾客买单。

《大道平渊》 拾壹 "大家都在喝&#xff0c;你喝不喝&#xff1f;" 商业一定是个故事&#xff0c;人民群众需要故事。 比如可口可乐的各种故事。 可口可乐公司也只是被营销大师们&#xff0c; 作为一种故事载体&#xff0c;发挥他们的本领。 营销大师们开发故事…

基于51单片机俄罗斯方块小游戏

基于51单片机俄罗斯方块游戏 &#xff08;仿真&#xff0b;程序&#xff09; 功能介绍 具体功能&#xff1a; 1.用LCD12864显示游戏界面&#xff1b; 2.用四个按键控制游戏&#xff08;左、右移、下移、翻转&#xff09;&#xff1b; 3.游戏规则和平时玩的俄罗斯方块一样&a…

点估计参数估计

点估计&#xff08;Point Estimation&#xff09;是一种统计推断的方法&#xff0c;用于通过样本统计量来估计总体参数。在概率论和数理统计中&#xff0c;点估计是将总体的未知参数估计为某个确定的值或在某个确定的点上&#xff0c;因此也被称为定值估计。 定义&#xff1a; …

AXI Quad SPI IP核中命令的使用

1 双通道SPI和混合内存模式下支持的常用命令 对于配置中Mode设置为Dual且Slave Device设置为Mixed的情况&#xff0c;IP核支持表3-1中列出的命令。这些命令在Winbond、Micron和Spansion内存设备上具有相同的命令、地址和数据行为。 某些命令&#xff0c;如fast read、dual I/…

从年金理论到杠杆效应,再到财务报表与投资评估指标

一、解释普通年金终值和普通年金现值的概念。 普通年金终值&#xff1a;以利率为1%&#xff0c;每期收款100元&#xff0c;5期为例&#xff0c;普通年金终值的折算过程如图&#xff1a; 普通年金现值&#xff1a;以利率为1%&#xff0c;每期收款100元&#xff0c;5期为例&am…

【RabbitMQ】RabbitMQ配置与交换机学习

【RabbitMQ】RabbitMQ配置与交换机学习 文章目录 【RabbitMQ】RabbitMQ配置与交换机学习简介安装和部署1. 安装RabbitMQ2.创建virtual-host3. 添加依赖4.修改配置文件 WorkQueues模型1.编写消息发送测试类2.编写消息接收&#xff08;监听&#xff09;类3. 实现能者多劳 交换机F…

C++类与对象(拷贝与类的内存管理)

感谢大佬的光临各位&#xff0c;希望和大家一起进步&#xff0c;望得到你的三连&#xff0c;互三支持&#xff0c;一起进步 个人主页&#xff1a;LaNzikinh-CSDN博客 文章目录 前言一.对象的动态建立和释放二.多个对象的构造和析构三.深拷贝与浅拷贝四.C类的内存管理总结 前言 …

element-plus日历组件el-calendar自定义内容,每天绑定不同的值

效果 代码 <template><el-calendar v-model"calendarDate"><template #date-cell"{ data }"><p :class"data.isSelected ? is-selected : ">{{ data.day.split("-").slice(1).join("-") }}{{ d…

IDEA创建SpringBoot项目的时候,如何使用Java8,怎么办?

在创建springboot项目的时候,IDEA提示&#xff0c;最低Java版本要求17&#xff0c;但是实际上我们可能不需要这么高的版本&#xff0c;怎么使用Java8呢&#xff1f; 解决办法 修改Server URL地址即可&#xff1a;https://start.aliyun.com

天才程序员周弈帆 | Stable Diffusion 解读(二):论文精读

本文来源公众号“天才程序员周弈帆”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Stable Diffusion 解读&#xff08;二&#xff09;&#xff1a;论文精读 【小小题外话】端午安康&#xff01; 在上一篇文章天才程序员周弈帆 …

【数据结构】排序(上)

个人主页~ 堆排序看这篇~ 还有这篇~ 排序 一、排序的概念及应用1、概念2、常见的排序算法 二、常见排序的实现1、直接插入排序&#xff08;1&#xff09;基本思想&#xff08;2&#xff09;代码实现&#xff08;3&#xff09;时间复杂度&#xff08;4&#xff09;空间复杂度 2…