JavaScript使用
文章目录
- 一、JavaScript简介
- 二、JavaScript引入方式
- 1、内部脚本
- 2、外部脚本
- 三、JavaScript基础语法
- 1、书写语法&输出语句
- 2、变量&数据类型
- 3、运算符
- 4、流程控制语句&函数
- 四、JavaScript对象
- 1、Array
- 2、String
- 3、自定义对象
- 五、BOM
- 1、Window
- 2、History
- 3、Location
- 六、DOM
- 1、获取Element对象
- 2、常见HTML Element对象的使用
- 七、事件监听
- 1、事件绑定
- 2、常见事件
- 八、案例:表单验证
- 九、正则表达式
一、JavaScript简介

二、JavaScript引入方式

1、内部脚本

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><script>alert("Helo js")
</script></body></html>
2、外部脚本

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><script src="../js/demo.js"></script></body></html>
alert("Hello js")
三、JavaScript基础语法
1、书写语法&输出语句


<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><script>window.alert("Hello js1");//写入警告框document.write("Hello js2");//写入html页面console.log("Hello js3");//写入浏览器控制台
</script></body></html>
2、变量&数据类型

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>// var test = 20;// test = "张三";// alert(test);/*var:1、作用域:全局变量2、变量可以重复定义*/{var age = 18;//var age = 20;}alert(age);const PI =3.14;
</script></body>
</html>

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>//numbervar age = 20;var price = 99.8;alert(typeof age);alert(typeof price);//Stringvar ch = 'a';var name = '张三';var addr = "北京";alert(typeof ch);alert(typeof name);alert(typeof addr);//booleanvar flag1 = true;var flag2 = false;alert(typeof flag1);alert(typeof flag2);//nullvar obj = null;alert(typeof obj);//object//underfinedvar a;alert(typeof a);
</script></body>
</html>
3、运算符

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>/*==:1、判断类型是否一样,如果不一样,则进行类型转换2、再去比较值===:全等于1、判断类型是否一样,如果不一样,直接返回false2、再去比较值*/var age1 = 18;var age2 = '18';//alert(age1 == age2);//truealert(age1 === age2);//false/*类型转换:*其他类型转换为number:1、String:按照字符串的字面值,转换为数字.如果字面值不是数字,则转为NaN。一般使用parseInt2、bollean:true 转为1, false 转为0*其他类型转换为boolean:1、number:0和NaN转化为false,其他数字转换为true2、String:空字符串转为false,其他字符串转为true3、null:false4、undefined:false*/// var str = +'aaa';var str = +'20';alert(parseInt(str) + 1);var flag = +true;alert(flag);var flag = 0;var flag = 'asd';if(flag){alert("转化为ture");}else {alert("转换为false");}var str = 'asd';//健壮性判断//if (str != null && str.length > 0)if(str){alert("转化为ture");}else {alert("转换为false");}
</script></body>
</html>

4、流程控制语句&函数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>//1、ifvar count = 3;if (count == 3) {alert(count);}//2、switchvar num = 3;switch (num) {case 1: {alert("星期一");break;}case 2: {alert("星期二");break;}case 3: {alert("星期三");break;}case 4: {alert("星期四");break;}case 5: {alert("星期五");break;}case 6: {alert("星期六");break;}case 7: {alert("星期日");break;}default:{alert("信息有误");break;}}//3、forvar sum = 0;for (let i = 1; i <= 100; i++){sum += 1;}alert(sum);//4、whilevar i = 1;while (i <= 100){sum += 1;i++;}alert(sum);
</script></body>
</html>


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>function add(a, b) {return a + b;}var result = add(1, 2);alert(result);var add = function (a, b) {return a + b;}var result = add(1, 2);alert(result);</script>
</body>
</html>
四、JavaScript对象
1、Array


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>//方式一var arr = new Array(1,2.3);alert(arr);//方式二var arr2 = [1,2,3];alert(arr2);//访问arr[0] = 10;alert(arr);//特点:JavaScript数组相当于Java中集合,变长变类型//变长var arr3 = [1,2,3,];arr3[10] = 10;alert(arr3[10]);alert(arr3[9]);//变类型arr3[5] = "你好";alert(arr3[5]);alert(arr3)//属性:length:数组中元素的个数var arr4 = [1,2,3];for (let i = 0; i < arr4.length; i++) {alert(arr4[i]);}//方法//push:添加方法var arr5 = [1,2,3];arr5.push(10);//splice:删除元素arr5.splice(0,1);alert(arr5);
</script>
</body>
</html>
2、String

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>//方式一var str1 = new String("abc");//方式二var str2 = "abc";var str3 = 'abc';//lengthalert(str3.length);//trim():去除字符串前后两端的空白字符var str4 = ' abc ';alert(1 + str4.trim() + 1);
</script>
</body>
</html>
3、自定义对象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>var person = {name : "张三",age : 18,eat : function () {alert("吃饭")}};alert(person.age);alert(person.age);person.eat();
</script>
</body>
</html>
五、BOM

1、Window

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>//alertwindow.alert("abc");alert("bbb");//confirm,点击确定按钮,返回true,点击取消按钮,返回falsevar flag = confirm("删除?");if (flag){//逻辑删除}//定时器/*setTimeout:(function,毫秒值):在一定时间间隔后执行一个function,只执行一次setInterval:(function,毫秒值):在一定时间间隔后执行一个function,循环执行*/setTimeout(function (){alert("你好");},3000);setInterval(function (){alert("你好");},3000);
</script>
</body>
</html>
2、History

3、Location

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>alert("跳转")location.href = "https://www.baidu.com";//3秒跳转到首页document.write("3秒");setTimeout(function () {location.href = "https://www.baidu.com";},3000);
</script>
</body>
</html>
六、DOM




1、获取Element对象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<img id="light" src="../img/off.gif"><br><div class="cls">传智教育</div><br>
<div class="cls">黑马程序员</div><br><input type="checkbox" name="hobby"> 电影
<input type="checkbox" name="hobby"> 旅游
<input type="checkbox" name="hobby"> 游戏
<br><script>//1、getElementById:根据id属性值获取,返回一个Element对象var img = document.getElementById("light");alert(img);//2、getElementsByTagName:根据标签名称获取,返回Element对象数组var divs = document.getElementsByTagName("div");alert(divs.length);for (let i = 0; i < divs.length; i++) {alert(divs[i]);}//3、getElementsByName:根据name属性值获取,返回Element对象数组var hobbys = document.getElementsByName("hobby");for (let i = 0; i < hobbys.length; i++) {alert(hobbys[i]);}//4、getElementsByClassName:根据class属性值获取,返回Element对象数组var clss = document.getElementsByClassName("cls");for (let i = 0; i < clss.length; i++) {alert(clss[i]);}
</script></body>
</html>
2、常见HTML Element对象的使用
var divs = document.getElementsByTagName("div");/*style:设置元素css样式innerHTML:设置元素内容*/for (let i = 0; i < divs.length; i++) {divs[i].style.color = '红色';divs[i].innerHTML = '你好';}
var hobbys = document.getElementsByName("hobby");for (let i = 0; i < hobbys.length; i++) {hobbys[i].checked = true;}

七、事件监听

1、事件绑定

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<input type="button" value="点我" onclick="on()"><br>
<input type="button" value="再点我" id="btn">
<script>function on(){alert("我被点了");}document.getElementById("btn").onclick = function (){alert("我被点了");}
</script>
</body>
</html>
2、常见事件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form id="register" action="#"><input type="text" name="username" /><input type="submit" value="提交">
</form><script>document.getElementById("register").onsubmit = function () {//onsubmit 返回true,则表单会被提交,返回false,则表单不会提交return true;}
</script>
</body>
</html>
八、案例:表单验证


九、正则表达式


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>//规则: 单词字符:6~12var reg = /^\w{6,12}$/;var str = 'asd';var flag = reg.test(str);alert(flag);</script>
</body>
</html>
相关文章:
JavaScript使用
文章目录 一、JavaScript简介二、JavaScript引入方式1、内部脚本2、外部脚本 三、JavaScript基础语法1、书写语法&输出语句2、变量&数据类型3、运算符4、流程控制语句&函数 四、JavaScript对象1、Array2、String3、自定义对象 五、BOM1、Window2、History3、Locati…...
区块链和人工智能的关系以及经典案例
目录 1.区块链与人工智能的关系 2.应用案例:基于区块链的医疗数据共享平台 2.1背景 2.2方案 2.3优势 2.4挑战 区块链技术和人工智能(AI)是两种不同的技术,但它们之间存在着互补关系。区块链技术提供了一种安全、透明、去中心…...
【深度学习笔记】优化算法——Adam算法
Adam算法 🏷sec_adam 本章我们已经学习了许多有效优化的技术。 在本节讨论之前,我们先详细回顾一下这些技术: 在 :numref:sec_sgd中,我们学习了:随机梯度下降在解决优化问题时比梯度下降更有效。在 :numref:sec_min…...
sql注入
注入的介绍 将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。 注入能导致 数据丢失 、 破坏 或 泄露 给无授…...
Leetcode : 1137. 高度检查器
学校打算为全体学生拍一张年度纪念照。根据要求,学生需要按照 非递减 的高度顺序排成一行。 排序后的高度情况用整数数组 expected 表示,其中 expected[i] 是预计排在这一行中第 i 位的学生的高度(下标从 0 开始)。 给你一个整数…...
Mybatis从入门到CRUD到分页到日志到Lombok到动态SQL再到缓存
Mybatis 入门 1.导入maven依赖 <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>x.x.x</version> </dependency>2.配置核心文件 <?xml version"1.0" encoding"U…...
四节点/八节点四边形单元悬臂梁Matlab有限元编程 | 平面单元 | Matlab源码 | 理论文本
专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…...
机器视觉学习(一)—— 认识OpenCV、安装OpenCV
目录 一、认识OpenCV 二、通过pip工具安装OpenCV 三、PyCharm安装OpenCV 一、认识OpenCV OpenCV(Open Source Computer Vision Library,开源计算机视觉库)是一个跨平台的计算机视觉库,最初由威尔斯理工学院的Gary Bradski于199…...
web3 DePIN赛道之OORT
文章目录 什么是DePIN什么是oort背景:去中心化云计算场景团队OORT AIOORT StorageOORT Compute 参考 什么是DePIN DePIN是Decentralized Physical Infrastructure Networks的简称,中文意思就是去中心化的网络硬件基础设施,是利用区块链技术和代币奖励来调动分散在世…...
QString 与 字符编码 QTextCodec
为了理解编码,我们要先区分 文件中字符编码 和 程序运行时字符编码 的区别。 文件中字符编码 顾名思义 就是 文字保存在文件中的采用的字符编码方式,可以在IDE中看到程序运行时字符编码,是编译器读取从源文件中读取到字符串后再按要求做的一次…...
【STA】SRAM / DDR SDRAM 接口时序约束学习记录
1. SRAM接口 相比于DDR SDRAM,SRAM接口数据与控制信号共享同一时钟。在用户逻辑(这里记作DUA(Design Under Analysis))将数据写到SRAM中去的写周期中,数据和地址从DUA传送到SRAM中,并都在有效时…...
Git的基础使用
几条铁令!!!!! 切换分支前先提交本地的修改代码及时提交,提交过就不会丢遇到任何问题都不要删除文件目录,第一时间找人请教push前和merge前一定要pull保证代码为最新的,有冲突解决冲…...
贪吃蛇(C语言实现)
贪食蛇(也叫贪吃蛇)是一款经典的小游戏。 —————————————————————— 本博客实现使用C语言在Windows环境的控制台中模拟实现贪吃蛇小游戏。 实行的基本功能: • 贪吃蛇地图的绘制 • 蛇吃食物的功能(上、…...
使用 mysqldump 迁移 MySQL 表 OceanBase
使用 mysqldump 迁移 MySQL 表 OceanBase 一、什么是mysqldump二、使用mysqldump导出MySQL数据三、将数据导入到OceanBase四、注意 一、什么是mysqldump mysqldump 是 MySQL 数据库管理系统中的一个工具,用于将数据库中的数据导出为文本文件。它可以将整个数据库、…...
谷粒学院--在线教育实战项目【一】
谷粒学院--在线教育实战项目【一】 一、项目概述1.1.项目来源1.2.功能简介1.3.技术架构 二、Mybatis-Plus概述2.1.简介2.2.特性 三、Mybatis-Plus入门3.1.创建数据库3.2.创建 User 表3.3.初始化一个SpringBoot工程3.4.在Pom文件中引入SpringBoot和Mybatis-Plus相关依赖3.5.第一…...
Power Design【数据库设计】
Power Design【数据库设计】 前言版权推荐Power Design【数据库设计】推荐11. PowerDesigner的使用11.1 开始界面11.2 概念数据模型11.3 物理数据模型11.4 概念模型转为物理模型11.5 物理模型转为概念模型11.6 物理模型导出SQL语句补充:sqlyog导入sql文件 最后 前言 2024-3-11…...
Spring Boot中Excel数据导入导出的高效实现
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
采购代购系统独立站,接口采集商品上货
采购代购系统独立站的建设与商品上货接口的采集是一个综合性的项目,涉及前端开发、后端开发、数据库设计以及API接口的对接等多个环节。以下是一个大致的步骤和考虑因素: 一、系统规划与需求分析 明确业务需求:确定代购系统的核心功能&…...
Redis精讲
redis持久化 RDB方式 Redis Database Backup file (redis数据备份文件), 也被叫做redis数据快照. 简单来说就是把内存中的所有数据记录到磁盘中. 快照文件称为RDB文件, 默认是保存在当前运行目录. [rootcentos-zyw ~]# docker exec -it redis redis-cli 127.0.0.1:6379> sav…...
ELFK 分布式日志收集系统
ELFK的组成: Elasticsearch: 它是一个分布式的搜索和分析引擎,它可以用来存储和索引大量的日志数据,并提供强大的搜索和分析功能。 (java语言开发,)logstash: 是一个用于日志收集,处理和传输的…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
