JavaScript的学习

HTML的学习-CSDN博客

从html的学习中 其实我已经用到了 JavaScript的脚本 (GPT)

例如

echo '<script>alert("账号密码错误"); window.location="index.html";</script>';

弹窗 然后定位到 index.html

这里能够让我们更加快速执行一些操作

JS 用法

首先 JS代码 需要通过 <script></script>包裹其次 可以写入在 head 和 body中

最简单的JS就是类似XSS的弹窗

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JavaScript学习</title>
</head>
<body><script>alert("这是一个简单的弹窗");</script></body>
</html>

JS 写html信息

document.write("<h1>这是通过JS document输出的语句</h1>");

我们可以发现 通过document 可以加上html的标签 然后输出内容

然后我们可以通过id的指定 实现javascript的调用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>function check(){var check123 = document.getElementById('check');if(check123.innerHTML === '这是一个js脚本'){check123.innerHTML='6666';}else{check123.innerHTML='这是一个js脚本';}}</script>
</head>
<body><p id="check">这是一个js脚本</p><button type="button" onclick="check()">点我一下咯</button>
</body>
</html>

发现 这个就很简单的写法 通过 getID 获取到目标地点 然后inner 替换成666

在下面的button时触发

这就是一个最简单的javascript脚本

外部引用的话就是下面这个例子

 这样就实现了javascrip的运行

在浏览器中执行javascript

这里要学习在浏览器中执行

我们看看我们定义的是check函数

所以我们可以通过开发者工具打开控制台

执行完后可以发现 他已经在页面中进行了跳转

在这里可以实现多行执行

⭐JS的输出

存在这些输出格式

使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。

一个一个实现

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
<script>window.alert("WARNING!!!");
</script>
</body>
</html>

 下面可以写入一个时间在html中

写入参数 需要文档加载完毕后操作

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
<script>document.write(Date())
</script>
</body>
</html>

 下面是对元素的控制

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><p id="check">我的第一个段落。</p><button type='button' onclick="myFunction()">点我</button><script>function myFunction() {document.getElementById('check').innerHTML = Date();}</script>
</body>
</html>

JS的语法

首先就是定义参数

var a,ba= 4
b = 'four'

JS的注释是 //

在 // 后面的JS 不会执行

JavaScript 语法 | 菜鸟教程

var length = 16;                                  // Number 通过数字字面量赋值 
var points = x * 10;                              // Number 通过表达式字面量赋值
var lastName = "Johnson";                         // String 通过字符串字面量赋值
var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值
var person = {firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值

JavaScript 对大小写是敏感的。

break 	用于跳出循环。
catch 	语句块,在 try 语句块执行出错时执行 catch 语句块。
continue 	跳过循环中的一个迭代。
do ... while 	执行一个语句块,在条件语句为 true 时继续执行该语句块。
for 	在条件语句为 true 时,可以将代码块执行指定的次数。
for ... in 	用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function 	定义一个函数
if ... else 	用于基于不同的条件来执行不同的动作。
return 	退出函数
switch 	用于基于不同的条件来执行不同的动作。
throw 	抛出(生成)错误 。
try 	实现错误处理,与 catch 一同使用。
var 	声明一个变量。
while 	当条件语句为 true 时,执行语句块。

这是JS函数的介绍

多行注释 /**/

对于变量的命名 这里也需要注意


变量必须以字母开头
变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
变量名称对大小写敏感(y 和 Y 是不同的变量)

其次注意一下数组的创建

var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";或者 (condensed array):
var cars=new Array("Saab","Volvo","BMW");

对象的创建

var person={
firstname : "John",
lastname  : "Doe",
id        :  5566
};对象属性有两种寻址方式:
实例
name=person.lastname;
name=person["lastname"]; 

 这里注意对象的寻址即可

⭐⭐JS的对象

这个就比较重要了

这里直接引用菜鸟教程的例子

属性就是汽车的组成

方法就是使用汽车的方式

对象就是一个大的汽车

在JS中任何事务都可以是一个对象

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};这里 我们可以通过person.firstName 获取到 John其他同理或者可以使用person[firstName] 获取到 John

下面是函数作为方法存储在对象内

var person = {firstName: "John",lastName : "Doe",id : 5566,fullName : function() {return this.firstName + " " + this.lastName;}
};

我们发现 fullName 是一个函数

这里就是方法

我们可以通过person.fullName() 调用document.getElementById("demo1").innerHTML = "不加括号输出函数表达式:"  + person.fullName;
document.getElementById("demo2").innerHTML = "加括号输出函数执行结果:"  +  person.fullName();两个调用方式 不一样输出内容是不加括号输出函数表达式:function() { return this.firstName + " " + this.lastName; }加括号输出函数执行结果:John Doe

这些就是JS最基础的对象了

我写的也很基础

JS函数

最简单的调用函数方式

function test(){//代码段
}

如果是带参数的函数

function test(a,b){alert(a+b);
}

这样就可以执行带参数的内容

然后就是返回值

使用return即可

function test(a,b){retrun a+b;
}

然后就是全局和局部变量

这里还有一个 可配置全局和不可配置全局

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2delete var1; // false 无法删除
console.log(var1); //1delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义

JS的作用域

其实就是全局变量这些

myFunction();
document.getElementById("demo").innerHTML = "carName 的类型是:" +  typeof carName;
function myFunction() 
{var carName = "Volvo";
}这里我们发现 我们在局部变量 定义前就已经通过innerHTML 输出 这里是不可以的输出内容是carName 的类型是:undefined

但是这里注意

myFunction();
document.getElementById("demo").innerHTML = "carName 的类型是:" +  typeof carName;
function myFunction() 
{carName = "Volvo";
}

这里是可以的 有什么区别呢 就是 carName前是否存在var

如果没有var  就默认为全局变量

GPT的回答

当使用 var 关键字声明变量时,该变量会被限定在当前的函数作用域或全局作用域中。
但是,如果在声明变量时没有使用 var、let 或 const,JavaScript 引擎会将其视为全局变量
并将其添加到全局对象(在浏览器环境下是 window 对象)的属性中

⭐JS的事件

这里我感觉是目前用户遇到js最多的地方了

通过html的事件 执行js指令

HTML 页面完成加载
HTML input 字段改变时
HTML 按钮被点击
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>这里是通过点击 修改 id=demo的内容<button onclick="this.innerHTML=Date()">现在的时间是?</button>而通过 this 是修改当前 button的指令

下面是可以操作的事件

onchange 	HTML 元素改变
onclick 	用户点击 HTML 元素
onmouseover 	鼠标指针移动到指定的元素上时发生
onmouseout 	用户从一个 HTML 元素上移开鼠标时发生
onkeydown 	用户按下键盘按键
onload 	浏览器已完成页面的加载

就是 上面的内容执行的时候 就会执行js

JS字符串

我们可以通过类似python的format的方式 在字符串中加入变量const name='hel'const year='17'const message= `My name is ${name} and I'm ${year} years old.`;

我们发现是使用 ${}来进行操作

JS条件运算符

其他都是一样的

这里知识介绍一下 条件运算符

name=(age<18)?"Vam":"Same"这里通过比对age是否小于18来输出如果小于 就输出Vam  如果大于 就输出 Same

JS IF ELSE  For

<script>
function myFunction(){var x="";var time=new Date().getHours();if (time<20){x="Good day";}document.getElementById("demo").innerHTML=x;
}
</script>通过javascript 获取到时间(精确到小时) 然后通过document输出

这里介绍一下for循环

其实和c差不多

for(var i-0;i<cars.length;i++){decoument.write('cars[i]')}
for - 循环代码块一定的次数
for/in - 循环遍历对象的属性
while - 当指定的条件为 true 时循环指定的代码块
do/while - 同样当指定的条件为 true 时循环指定的代码块
break 语句用于跳出循环。continue 用于跳过循环中的一个迭代。

这些在其他代码中也都学过了

基础内容差不多就这些了,这个文章只是个人不做开发了解javascrip

所以东西是很简单的

照样

我们来编写一个js文件完善之前html的页面

1.js

function check() {var name = document.getElementById("name");var passwd = document.getElementById("passwd");var oError = document.getElementById("error");var isError = true;if (name.value.trim() === '') {window.alert("账号不能为空");isError = falsereturn}else if (passwd.value.trim() === '') {window.alert("密码不能为空");isError = falsereturn}else if (name.value.length > 20 || name.value.length < 3) {oError.innerHTML = "账号长度不对";isError = false;return} else {// 向后端发送验证请求// 假设使用AJAX进行异步请求var xhr = new XMLHttpRequest();xhr.open('POST', '/test-web/dir.php', true); xhr.setRequestHeader('Content-Type', 'application/json');xhr.onreadystatechange = function() {if (xhr.readyState === XMLHttpRequest.DONE) {if (xhr.status === 200) {var response = JSON.parse(xhr.responseText);if (response.success) {window.alert("登录成功");} else {oError.innerHTML = response.errorMessage;}} else {window.alert("登录请求失败");}}};var data = JSON.stringify({username: name.value.trim(),password: passwd.value.trim()});xhr.send(data);}setTimeout(function() {error.innerHTML = "";}, 2000);
}

index.html

<<!DOCTYPE html>
<html lang="en">
<!---flag{fuc3-yo3}-->
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- <script type="text/javascript" src="js/1.js"></script> --><title>学习测试一下网站解法</title>
</head>
<body><h1> 我需要学会html语言基本 </h1><hr><h2> 基础的东西我也要会</h2><p>  段落和标题的区别就是这个 其实我就是正文 </p><hr><p> 不同段落需要 重新获取p标签</p><a href="帅照.jpg" download>下载帅照</a><p>这是一个段落标签<br>但是我使用br分段</p><p> 这里介绍一下表格</p><table border="12"><thead><tr><th> id</th><th> name</th><th> passwd</th></tr></thead><tbody><tr><td> 1</td><td> admin</td><td> admin123</td></tr></tbody></table>       <p> 这里介绍一下列表</p><ul><li>1111111:</li><li>2222222:</li></ul><form action="/test-web/dir.php" method="post"> <label for="name">用户名</label><input type="text" name="name" id="name"><br><label for="passwd">密码:</label><input type="password" name="passwd" id="passwd"><br><button type="submit"  onclick="check()">登入</button><p id="error"><br></p><a href="http://127.0.0.1:3000/test-web/zhuce.php">注册</a>
</form></body>
</html>

这里是修改后的 后面的js链接后端是通过gpt生成的

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

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

相关文章

品牌线上窜货查的出来吗

如果窜货不治理会出现什么局面&#xff0c;显见的当然是渠道混乱&#xff0c;低价丛生&#xff0c;严重的还会导致真假混卖&#xff0c;最后所有的后果都会由品牌承担&#xff0c;口碑的影响是必然的&#xff0c;那品牌的衰败也会是一种趋势&#xff0c;所以治理窜货是品牌发展…

Windows | 模仿网易云任务栏实现自定义按钮及缩略图

前言 最近更新网易云发现任务栏按钮中除了播放相关的按钮&#xff0c;多了一个喜欢的按钮&#xff1a; 之前我一直以为网易云任务栏的按钮只是 Windows 为音乐软件专门提供的&#xff0c;于是我又看了一眼系统自带的播放器&#xff0c;发现并没有爱心按钮&#xff1a; 这时我就…

C在国内就业已经拉胯,ChatGPT告诉我的

文章目录 一、前言二、ChatGPT查到的数据三、数据亮点 1.C语言近3年数据大跌2.招聘数量每年都在剧增的是全栈工程师3.薪资涨幅最高的是全栈和网安 四、结语 一、前言 不仅前在微信群里搭建了一个ChatGPT 5.0做智能助手&#xff0c;让他来帮我回答群问题&#xff0c; 搭建好…

数十亿美元商机!英国数字基础设施公司Equinix与法国量子计算公司Alice Bob 合作

​&#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;全球数字基础设施公司Equinix宣布与全球领先的法国量子计算公司Alice & Bob合作&#xff0c;旨在共同开发市场上最为可靠的量子处理器之一。此次合作将使Equinix公司的客户通过使用Equinix Metal和Eq…

好的程序员有什么特质呢?

程序员想要提升自己&#xff0c;一定要关注到工作中的方方面面。而一个好的程序员&#xff0c;一般都有这些特质&#xff1a; 弱者抱怨环境&#xff0c;强者改变环境 不要试图通过抱怨环境来获得工作环境上的改变&#xff0c;这不仅不会给你带来任何实质性的改变&#xff0c;…

自定义字符-摄氏度汉字一

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

springboot+vue项目如何集成onlyoffice开源文档组件

一、onlyoffice是什么 ONLYOFFICE 是一个开源的办公套件&#xff0c;适合多人在线协作。由总部位于总部在拉脱维亚的 IT 公司Acensio System SIA 开发。它提供在线协作文档编辑器&#xff08;包括文档、电子表格、演示文稿和表单&#xff09;&#xff0c;适用于 Windows、Linu…

python tkinter使用(五)

python tkinter使用(五) 本篇文章讲述tkinter 中treeview的使用 Treeview是一个多列列表框&#xff0c;可以显示层次数据。 #!/usr/bin/python3 # -*- coding: UTF-8 -*- """Author: zhTime 2023/11/23 下午8:28 .Email:Describe: treeview 使用 "&quo…

Linux上自动挂载windows下的网络共享文件夹

比如我们想在ubuntu上挂载一个windows的共享文件夹&#xff0c;我们可以用如下方式实现。 首先我们将windows下的文件夹右键选择【属性】&#xff0c;然后选择【共享】。 选择需要共享的用户&#xff0c;然后设置权限级别。 点击共享&#xff0c;然后点击完成。 这样我们在wi…

Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例

网络爬虫是一种自动从互联网上获取数据的程序&#xff0c;它可以用于各种目的&#xff0c;如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多&#xff0c;不同的编程语言和框架都有各自的优势和特点。在本文中&#xff0c;我将介绍一种使用Go语言和pholcus库的网络爬…

基于opencv+ImageAI+tensorflow的智能动漫人物识别系统——深度学习算法应用(含python、JS、模型源码)+数据集(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境爬虫1.安装Anaconda2.安装Python3.63.更换pip源4.安装Python包5.下载phantomjs 模型训练1.安装依赖2.安装lmageAl 实际应用1.前端2.安装Flask3.安装Nginx 相关其它博客工程源代码下载其它资料下载 前言 本项目通过爬虫技术…

Word怎么看字数?简单教程分享!

“我在写文章时&#xff0c;总是想看看写了多少字。但是我发现我的Word无法看到字数。在Word中应该怎么查看字数呢&#xff1f;请帮帮我&#xff01;” Word是一个广泛使用的文档编辑工具。在我们编辑文章时&#xff0c;如果想查看写了多少字&#xff0c;也是可以轻松完成的。 …

leetcode:环形链表的入环点

题目描述 题目链接:力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目分析 我们假设起点到环的入口点的距离是L&#xff0c;入口点到相遇点的距离是X&#xff0c;环的长度是C 那么画图我们可以得知&#xff1a; 从开始到相遇时slow走的距离是LX从…

Adobe的组织工具程序Bridge 2024 版本下载与安装

目录 前言一、Bridge 2024安装二、使用配置总结 前言 Adobe Bridge是由 Adobe 公司开发的一款用于管理和组织创意资产的工具。它是Adobe Creative Cloud 套件的一部分&#xff0c;为设计师、摄影师和其他创意专业人员提供了一个集中管理和浏览其多媒体文件的平台。注&#xff…

Ubuntu开机显示No bootable devices found

Ubuntu开机报错&#xff0c;显示显示No bootable devices found&#xff0c;如下图所示&#xff1a; 解决方案如下&#xff1a; 1. F2进入BIOS (1) 重启开启&#xff0c;按F2进入BIOS系统。 (2) 进入Boot Sequence&#xff0c;目前系统选择了UEFI&#xff0c;而Legacy选项为…

Android : AlertDialog对话框、单选、多选、适配器-简单应用

示例图&#xff1a; 1 &#xff1a;创建 AlertDialog.Builder 对象&#xff1b; 2 &#xff1a;调用 setIcon() 设置图标&#xff0c; setTitle() 或 setCustomTitle() 设置标题&#xff1b; 3 &#xff1a;设置对话框的内容&#xff1a; setMessage() 还有其他方法来指定显示…

【每日一题】2824. 统计和小于目标的下标对数目-2023.11.24

题目&#xff1a; 2824. 统计和小于目标的下标对数目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target &#xff0c;请你返回满足 0 < i < j < n 且 nums[i] nums[j] < target 的下标对 (i, j) 的数目。 示例 1&#xff1a; 输入&#xff1…

双12电视盒子什么牌子好?数码小编力荐目前最强的电视盒子

最近想买电视盒子的网友非常多&#xff0c;小编收到了很多关于电视盒子方面的咨询&#xff0c;因此我特意整理了今年测评过的电视盒子&#xff0c;总结了五款目前最强的电视盒子&#xff0c;想知道双十二买电视盒子什么牌子好就赶紧收藏起来吧。 推荐一&#xff1a;泰捷WEBOX新…

“KeyarchOS:国产Linux新星的崛起与创新之路“

简介 KeyarchOS是一款由浪潮信息自主研发的服务器操作系统。它因为几个特点而受到我的青睐和一些用户的关注。 首先&#xff0c;KeyarchOS注重安全性和稳定性。它有一些防护和隔离功能&#xff0c;来帮助系统稳定运行&#xff0c;而且是中文语言更接地气。 其次&#xff0c;Ke…

OSG编程指南<十>:OSG几何体的绘制

1、场景基本绘图类 在 OSG 中创建几何体的方法比较简单&#xff0c;通常有 3 种处理几何体的手段&#xff1a; 使用松散封装的OpenGL 绘图基元&#xff1b;使用 OSG 中的基本几何体&#xff1b;从文件中导入场景模型。 使用松散封装的OpenGL 绘图基元绘制几何体具有很强的灵活…