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标签中编写两个方法的具体内容

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三维地图Cesium,加载一个模型,模型沿着给定的一组经纬度路线移动

目录 实现效果 实现思路 功能点 选择移动路线 加载模型和移动路线 重新运行 指定位置(经纬度点)开始移动 视角切换 到站提示 运行 停止 联动接口 完整代码 html js逻辑 trainOperation.js sourceData.js gitee仓库项目代码 疑问解答 实现效果 三维地图Cesiu…

热题系列章节5

169. 多数元素 给定一个大小为 n 的数组&#xff0c;找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出:…

shell编程(三)—— 运算符

和其他编程语言一样&#xff0c;bash也有多种类型的运算符&#xff0c;本篇对bash的相关运算符做简单介绍。 一、运算符 1.1 算术运算符 常见的算术运算符&#xff0c;如加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xf…

简单介绍一下vim

简单介绍一下vim 一、vim是什么&#xff1f;二、vim的优点三、vi/vim的使用命令模式输入模式底线命令模式 四、vi/vim 按键说明&#xff08;一&#xff09;命令模式可用的光标移动、复制粘贴、搜索替换等移动光标的方法:搜索替换的方法删除、复制与贴上的方法 &#xff08;二&a…

嵌入式Linux系统编程 — 3.5 utime、utimes、futimens、utimensat函数修改文件时间属性

目录 1 文件的时间属性简介 2 utime()函数 2.1 utime()函数简介 2.2 示例程序 3 utimes()函数 3.1 utimes()函数简介 3.2 示例程序 4 futimens()函数 4.1 futimens()函数简介 4.2 示例程序 5 utimensat()函数 5.1 utimensat()函数简介 5.2 示例程序 1 文件的时间…

如何从SD存储卡恢复已删除的图像

SD卡概述 在日常工作和学习中&#xff0c;SD卡经常被用作许多设备上的存储设备&#xff0c;例如数码相机&#xff0c;手机&#xff0c;摄像机&#xff0c;行车记录仪以及监控设备&#xff0c;用于为我们存储图像&#xff0c;视频&#xff0c;文档&#xff0c;音频和其他数据。…

html5实现个人网站源码

文章目录 1.设计来源1.1 网站首页页面1.2 个人工具页面1.3 个人日志页面1.4 个人相册页面1.5 给我留言页面 2.效果和源码2.1 动态效果2.2 目录结构 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/139564407 ht…

12. Django 第三方功能应用

12. 第三方功能应用 因为Django具有很强的可扩展性, 所以延伸了第三方功能应用. 通过本章的学习, 读者能够在网站开发过程中快速实现API接口开发, 验证码生成与使用, 站内搜索引擎, 第三方网站实现用户注册, 异步任务和定时任务, 即时通信等功能.12.1 Django Rest Framework框…

【YOLOv5进阶】——修改网络结构(以C2f模块为例)

一、站在巨人的肩膀上 这里我们借鉴YOLOv8源码&#xff1a; 上期说到&#xff0c;对于网络模块定义详情在common.py这个文件&#xff0c;如Conv、CrossConv、C3f等。本期要修改的需要参考YOLOv8里的C2f模块&#xff0c;它定义在YOLOv8的module文件夹的block.py文件里&#xf…

js调试过程中修改变量值

1.在想要变更的地方添加断点 2.添加监视表达式 3.执行网页代码&#xff0c;当执行到断点处则会停止 4.点击执行下一步&#xff0c;则会执行监视表达式

新材料正不断推动模具3D打印行业发展

随着工业4.0的浪潮席卷全球&#xff0c;模具制造行业也迎来了技术革新的新纪元。3D打印技术以其独特的制造优势&#xff0c;正逐渐在模具制造领域崭露头角。然而&#xff0c;要实现模具3D打印技术的广泛应用&#xff0c;高性能的打印材料是不可或缺的关键因素。 材料是模具3D打…

一、Socket创建和连接

C网络编程&#xff08;asio&#xff09; 文章目录 C网络编程&#xff08;asio&#xff09;1、Asio概述2、网络编程基本流程2、创建socket3、创建监听socket4、绑定accpet监听套接字5、连接指定的端点6、服务器接收连接 点击查看代码 1、Asio概述 ​ Asio起源于Boost库&#xf…

超详解——python条件和循环——小白篇

目录 1. 缩进和悬挂else 2. 条件表达式 3. 和循环搭配的else 4. 可调用对象 总结&#xff1a; 1. 缩进和悬挂else 在Python中&#xff0c;代码块是通过缩进来表示的。条件判断和循环结构的代码块需要正确缩进。悬挂else指的是else子句和相应的if或循环在同一级别的缩进。 …

AVL树 ---(C++)

本篇讲全面的讲解 AVL 树的插入&#xff0c;旋转以及验证 AVL 树的性能&#xff08;本篇未实现删除代码&#xff09;。至于为什么会有 AVL 树&#xff0c;这是因为简单的二叉搜索树并不能直接的保证搜索的效率&#xff0c;因为当我们在二叉搜索树中插入一段有序的序列的时候&am…

STC90C51驱动LCD1602、LCD12864、OLED

主控芯片&#xff08;STC90C516RDPG5151028&#xff09;介绍 ROM64K,RAM1280字节&#xff0c;40Pin&#xff0c;3个定时器&#xff0c;1个串口&#xff0c;8个中断源&#xff08;分别是&#xff1a;外部中断0(INTO)、外部中断 1(INT1)、外部中断 2(INT2)、外部中断 3(INT3)、定…

【微信小程序开发(从零到一)】——个人中心页面的实战项目(二)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

「动态规划」如何计算能获得多少点数?

740. 删除并获得点数https://leetcode.cn/problems/delete-and-earn/description/ 给你一个整数数组nums&#xff0c;你可以对它进行一些操作。每次操作中&#xff0c;选择任意一个nums[i]&#xff0c;删除它并获得nums[i]的点数。之后&#xff0c;你必须删除所有等于nums[i] …

【网络安全的神秘世界】web应用程序安全与风险

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 第一章&#xff1a;web应用程序安全与风险 web攻击基础知识 1、什么是web应用攻击 web攻击的本质&#xff0c;就是通过http协议篡改应用程序&#xff0…

虚拟机ping不通主机,但是主机可以ping通虚拟机

我在Windows10系统安装了虚拟机&#xff0c;设置的主机与虚拟机的连接方式是桥接&#xff0c;安装好后&#xff0c;发现虚拟机ping不通主机&#xff0c;但是主机可以ping通虚拟机。 我的操作是&#xff1a;关闭防火墙&#xff0c;发现虚拟机可以ping通主机了。说明是Windows10…

python后端结合uniapp与uview组件tabs,实现自定义导航按钮与小标签颜色控制

实现效果&#xff08;红框内&#xff09;&#xff1a; 后端api如下&#xff1a; task_api.route(/user/task/states_list, methods[POST, GET]) visitor_token_required def task_states(user):name_list [待接单, 设计中, 交付中, 已完成, 全部]data []color [#F04864, …