前段之JavaScript——网页的血液!!

目录

一、JavaScript简介

二、JavaScript引入

三、声明变量

四、数据类型

五、运算符

六、函数

七、常用数据操作方法

1、字符串

2、数组

3、对象

八、BOM

九、DOM


一、JavaScript简介

JavaScript是一种用于为网页添加交互功能的脚本语言。它是一种轻量级的、解释型的语言,通常嵌入到HTML中,由浏览器解释执行。JavaScript能够使网页具有动态性,可以实现诸如表单验证、动态内容更新、用户行为跟踪等功能。

JavaScript最初是作为一种用于处理网页交互的脚本语言而开发的,但现在已经发展成为一种广泛用途的编程语言,不仅用于前端开发,还可以用于后端开发(如Node.js)、移动应用开发(如React Native)、游戏开发等领域。

JavaScript的特点包括:

1. 易学易用:JavaScript语法类似于其他编程语言(如C、Java),因此相对容易学习。
2. 强大的交互性:JavaScript可以对网页中的各种元素进行操作,实现用户与页面的交互,例如表单验证、动态内容加载、响应用户事件等。
3. 跨平台性:几乎所有的现代浏览器都支持JavaScript,因此可以在多种操作系统和设备上运行。
4. 丰富的功能库:JavaScript拥有丰富的开发库和框架,例如jQuery、React、Angular等,可以加速开发过程并提高开发效率。
5. 异步编程:JavaScript支持异步编程,可以通过事件处理、回调函数、Promise等方式处理异步操作,提高网页的响应速度和用户体验。

总的来说,JavaScript是构建现代网页和应用程序的重要技术之一,它为开发人员提供了丰富的工具和功能,使得网页更加交互且功能丰富。

二、JavaScript引入

1、在html内部使用script标签,在标签内部直接编写

2、在外部js文件中编写,在html内部通过script的src属性引入外部js文件

三、声明变量

1、const——声明常量,声明时必须赋值,不能更改

2、let——声明局部变量,出了该语句块就失效,没有赋值前不能访问且只能声明一次。

3、var——声明全局变量,可以多次声明,自带变量提升效果,没有声明就可以访问。

四、数据类型

查看数据类型可以使用typeof()方法

1、未定义类型:undefined

声明一个变量但是没有赋值时,会显示该类型。

2、数字:Number

3、字符串:String

4、布尔值:Bool

5、空值:Null,清除内存,使用typeof()返回的是Object

6、数组:Array,相当于Python中的列表

7、对象:Object,相当于Python中的字典

数组和对象这两种复杂的数据类型可以使用instanceof来检测类型。

五、运算符

1、算术运算符

+
-
*
/
%求余

2、赋值运算符

=等于
+=加等于
-=减等于
*=乘等于
/=除等于
%=余等于
a++自增(先返回再运算)
++a自增(先运算再返回)

3、比较运算符

>

大于

<小于
>=大于等于
<=小于等于
!=不等于
==判等,只比较值
===

判等,先比较值,再比较类型

4、逻辑运算符

&&        与左侧为真返回左侧,左侧为假返回右侧
||        或左侧为真返回左侧,左侧为假返回右侧
!        非非真为假,非假为真,结果只有true或false

5、流程结构

(1)顺序结构,从上向下依次执行

(2)分支结构:共有三种

if ( 条件 ) {
}


if ( 条件 ) {
}
else {
}


if ( 条件 ){
}
else if ( 条件 ) {
}
else {
}

(3)循环结构

  • for  
  • while  先判断在执行
  • dowhile  先执行在判断

六、函数

定义函数时使用function,函数名以小驼峰形式命名。

形参:声明函数使用;实参:调用函数使用。只有一个返回值。

html中同样有匿名函数,没有函数名,不能独立存在,使用时赋予一个变量,赋予函数的形参和赋予对象的键。

html中也可使用递归函数,使用方法同Python中类似,但是自己调用自己时,地柜效率低。

七、常用数据操作方法

1、字符串

(1)str.length 求字符串长度

(2)字符串可以遍历,下标从0到length-1

(3)charAt() 根据索引找字符

(4)indexOf  根据字符找索引,找不到返回-1

(5)concat  字符串拼接

(6)endsWith  以...结尾

(7)startsWith  以...开头

(8)replace  替换

(9)match  匹配,返回对象

(10)search  匹配,返回索引

(11)slice  切片,不包含stop

(12)split  切割,支持空字符切割

(13)toLowerCase  字符串转小写

(14)toUpperCase  字符串转大写

(15)trim  剔除空格

2、数组

(1)length 求长度

(2)可以遍历,下标从0到length-1

(3)concat  数组连接,不影响原数组

(4)includes  查看数组是否包含某个值

(5)indexOf  返回查找元素索引,找不到返回-1

(6)join  将元素使用字符串拼接

(7)pop  删除末尾

(8)push  末尾插入

(9)shift  删除开头

(10)unshift  开头插入

(11)reverse  逆序,影响原数组

(12)sort  排序,影响原数组

(13)splice 

                start  操作位置

                deleteCount  删除个数

                items 插入内容,也可不插入

(14)slice  切片,结果不影响原数组

(15)高阶函数,形参是匿名函数,第一个参数是值,第二个参数是索引

  • forEach 遍历,没有返回值
  • filter  过滤,返回符合条件的
  • map  映射,一对一返回
  • find  返回索引,只返回一个
  • every  每一个都返回true,结果才是true
  • some  每一个都不符合条件,结果才是false

3、对象

对象类似于Python中的字典,为键值对格式,值可以是任意数据类型。

(1)Object.keys(obj)获取obj的所有键

(2)JSON.stringify  序列化

(3)JSON.parse  反序列化

八、BOM

BOM(浏览器对象模型)是一组用于访问和操作浏览器窗口的对象集合。与DOM(文档对象模型)类似,BOM提供了一种编程接口,允许开发人员通过JavaScript来控制浏览器的行为、属性和功能。

BOM主要由以下对象组成:

  1. window对象:window对象代表浏览器中打开的窗口。它是BOM的核心对象,提供了许多属性和方法,用于控制浏览器窗口的大小、位置、导航等功能。

  2. navigator对象:navigator对象提供了有关浏览器的信息,如浏览器的名称、版本、所在平台等。开发人员可以使用这些信息来编写适配不同浏览器的代码。

  3. screen对象:screen对象提供了有关用户屏幕的信息,如屏幕的宽度、高度、色深等。开发人员可以利用这些信息来调整网页的布局和显示效果。

  4. history对象:history对象允许开发人员在浏览器的历史记录中执行操作,如forward前进、back后退、go(n)跳转到指定页面等。通过history对象,可以实现浏览器的前进后退功能。

  5. location对象:location对象提供了有关当前文档的信息,

    1. href当前地址

    2. protocol 协议

    3. port 端口

    4. pathname 虚拟路径

    5. search  查询参数

    6. hash 路由模式,锚点

    7. reload() 刷新

九、DOM

DOM(文档对象模型)是一种用于表示和操作HTML和XML文档的编程接口。它将文档解析为一个由节点(Node)组成的树状结构,开发人员可以使用JavaScript来访问和修改这些节点,从而实现对文档的动态操作和交互。

1、获取页面元素

querySelector,找到符合匹配的第一个

querySelectorAll,找到所有,返回类似数组,可以使用下标获取单个

document.query*,搜索整个文档

target.query*,在target内部找

2、绑定事件

鼠标点击:onclick

鼠标划入:onmouseenter

鼠标离开:onmouseleave

鼠标按下:onmousedown

鼠标抬起:onmouseup

鼠标移动:onmousemove

表单元素:

        聚焦:onfocus

        失去焦点:onblur

        输入内容改变:oninput

        键盘抬起:onkeyup

3、获取、修改

innerText不考虑标签;innerHTML可以识别标签

获取类名,对象.classList,add添加;remove删除;contains是否有;

toggle 有就删除没有就添加。

样式设置时,设置的为行内样式,.style.样式属性名=

获取样式时,可以通过style.样式属性名获取

4、相关元素

获取父节点:parentElement

获取所有子节点:children

获取下一个相邻节点:nextElementSibling

获取上一个相邻节点:previousElementSibling

5、元素的创建与删除

创建元素:createElement

将元素插入文档:appendChild

删除元素:remove

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

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

相关文章

氟化氢冷凝装置配套PFA烧瓶PFA冷凝管PFA接收瓶等

一、装置清单及说明&#xff1a; 1. PFA烧瓶 材质为PFA&#xff0c;半透明&#xff0c;耐受强酸强碱&#xff0c;常用500ml 1000ml&#xff0c;其他规格等可自行选择&#xff0c;若需要3颈及以上建议选择500ml以上规格&#xff0c;可根据要求选择有液位计&#xff0c;可看出瓶…

3D人脸扫描技术与数字人深度定制服务:赋能打造超写实3D数字分身

在数字时代&#xff0c;3D数字分身有着广泛的应用场景&#xff0c;在动画视频、广告宣传片、大型活动主持人、AI交互数字人等领域&#xff0c;发挥着重要的商业价值。其中&#xff0c;3D人脸扫描技术&#xff0c;推动了超写实3D数字分身的诞生。 公司案例 2023海心沙元宇宙音乐…

酒吧酒馆微信小程序设计基于Java,SpringBoot,Vue和UniApp

摘要 该设计目标是创建一个集成了Java, SpringBoot, Vue和UniApp技术的酒吧微信小程序&#xff0c;为用户提供一个功能全面、操作便捷的服务体验。通过利用SpringBoot的高效微服务架构&#xff0c;后端能够快速处理用户请求&#xff0c;实现酒品浏览、订单管理等核心功能&…

大话设计模式之外观模式

外观模式&#xff08;Facade Pattern&#xff09;是一种软件设计模式&#xff0c;旨在提供一个简单的接口&#xff0c;隐藏系统复杂性&#xff0c;使得客户端能够更容易地使用系统。这种模式属于结构型模式&#xff0c;它通过为多个子系统提供一个统一的接口&#xff0c;简化了…

华为OD机试 - 最大社交距离(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

央视315推荐的护眼灯有哪些?护眼灯十大品牌推荐

台灯作为家居类不可或缺的一种照明灯具&#xff0c;在我们的日常生活中发挥着重要作用&#xff0c;尤其是对于经常需要在夜晚长时间用眼学习的孩子而言&#xff0c;能够提供充足、明亮的照明&#xff0c;对学习帮助是非常大的。然而台灯的选择也是有讲究的&#xff0c;市面上很…

MongoDB 6.1 及以上版本使用配置文件的方式启动报错 Unrecognized option: storage.journal.enabled

如果你使用的 MongoDB 的版本大于等于 6.1&#xff0c;并且在 MongoDB 的配置文件中编写了如下内容 storage:journal:# 启用或禁用持久性日志以确保数据文件保持有效和可恢复# true 启用&#xff1b;false 不启用# 64 位系统默认启用&#xff0c;启用后 MongoDB 可以在宕机后根…

黄金票据的复现

实验环境以及工具 服务器&#xff1a;Windows server 2003 用户&#xff1a;Windows 7旗舰版 工具&#xff1a;mimikatz 搭建服务器环境 参考&#xff1a;内网横向——域渗透之黄金票据复现-CSDN博客 创建用户 使用gpupdate刷新策略&#xff1b; 搭建win7环境 设置ip ‘…

SpringBoot实现邮箱验证

目录 1、开启邮箱IMAP/SMTP服务&#xff0c;获取授权码 2、相关代码 1、使用配置Redis&#xff08;用于存储验证码&#xff0c;具有时效性&#xff09; 2、邮箱依赖和hutool&#xff08;用于随机生成验证码&#xff09; 3、配置Redis和邮箱信息 4、开启Redis服务 5、编写发送…

天诚人脸物联网锁搭载智慧公寓管理系统,赋能公寓智慧租住与通行管理

随着我国各大城市大规模地更新进程&#xff0c;各地掀起了人才公寓、地产品牌公寓、长短租公寓建设的浪潮&#xff0c;城中村改造也成为各地热门的民生话题。全场景AIoT解决方案服务商——江苏新巢天诚智能技术有限公司&#xff08;以下简称“天诚”&#xff09;从社区居民“租…

耐腐蚀耐高温实验室塑料烧杯进口高纯PFA材质反应器特氟龙烧杯

PFA烧杯在实验过程中可作为储酸容器或涉及强酸强碱类实验的反应容器&#xff0c;用于盛放样品、试剂&#xff0c;可搭配电热板加热、蒸煮、赶酸用。 外壁均有凸起刻度&#xff0c;直筒设计&#xff0c;带翻边&#xff0c;便于夹持和移动&#xff0c;边沿有嘴&#xff0c;便于倾…

nvm的使用

需求&#xff1a;不同项目使用的是不同版本的node版本 思路&#xff1a;可以使用nvm来管理和实现不同版本的切换使用 1.nvm的使用环境 如果电脑之前安装有node需要卸载node&#xff0c;并把yarn的环境变量删除&#xff08;没有可以省略这一步&#xff09; 2.nvm的下载及安装…

C-偶遇行军蚁(遇到过的题,做个笔记)

我的代码: 思路就是把每一行看成一个字符串&#xff0c;然后逐渐增加字符就行 #include <iostream> #include <vector> using namespace std; int main() {string s;int n;cin >> n; //读入行数cin >> s; //读入字符串vector<string>arr(n…

LeetCode 209 长度最小的子数组(滑动窗口,双指针实现)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&…

工具推荐:简单好用的企业知识管理SaaS产品合集

在这个信息爆炸的时代&#xff0c;企业的每位员工都在每天处理大量的信息与知识&#xff0c;如果没有合适的工具来管理这些宝贵资源&#xff0c;很容易造成知识的流失或重复劳动。幸好&#xff0c;现在有了很多知识管理SaaS&#xff08;即服务软件&#xff09;产品可以帮助我们…

深信服超融合虚拟机的导入方法

以从vmware虚拟机导出的虚拟机为例。 1 进入虚拟机页面点【新增】&#xff0c;选择【导入虚拟机】 2 以文件类型为ovf、mf、vmdk为例导入 选择文件类型&#xff0c;选择那三个导出的虚拟机的文件&#xff0c;选择分组&#xff0c;存储位置和运行位置默认&#xff0c;操作系统…

Android 自定义View 测量控件宽高、自定义viewgroup测量

1、View生命周期以及View层级 1.1、View生命周期 View的主要生命周期如下所示&#xff0c; 包括创建、测量&#xff08;onMeasure&#xff09;、布局&#xff08;onLayout&#xff09;、绘制&#xff08;onDraw&#xff09;以及销毁等流程。 自定义View主要涉及到onMeasure、…

Matlab实验:IIR数字滤波器设计

01.实验内容及原理 02.代码效果图 获取代码请关注MATLAB科研小白的个人公众号&#xff08;即文章下方二维码&#xff09;&#xff0c;并回复&#xff1a;MATLAB实验本公众号致力于解决找代码难&#xff0c;写代码怵。各位有什么急需的代码&#xff0c;欢迎后台留言~不定时更新科…

人人都离不开的算法:AI 时代的生存指南

文章目录 一、算法在生活中的“无处不在”二、算法在工作学习中的“智慧助力”三、算法在社会发展中的“驱动力量”四、算法带来的“双刃剑”效应五、应对算法挑战的策略《人人都离不开的算法——图解算法应用》编辑推荐1、通俗易懂2、技术科普3、贴近时代、贴近生活4、启发思考…

企业微信知识库的搭建方法都在这里了,赶紧收藏!

如果你是一位希望在企业内部实现高效知识共享和管理的管理者&#xff0c;搭建一个企业微信知识库可能是你最佳的选择之一。在这篇文章中&#xff0c;我将以简单明了的方式向大家介绍如何在企业微信上搭建和管理一个知识库。 首先&#xff0c;让我们了解一下什么是企业微信知识库…