第10章JavaScript的应用

news2024/12/26 23:02:17

10.1 JavaScript概述

10.1.1 JavaScript简介

10.1.1.1 简单性

10.1.1.2 动态性

10.1.1.3 跨平台性

10.1.1.4 安全性

10.1.1.5 基于对象的语言

10.1.2 JavaScript入门案例

10.1.3 JavaScript放置的位置

10.1.3.1 head标记中的脚本

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			function message(){
				alert("调用JS函数!sum(100,200)=" + sum(100,200))
			}
			
			function sum(x,y){
				return x + y;
			}
		</script>
	</head>
	<body>
		<h4>head标记定义两个js函数</h4>
		<p>无返回值函数:message()</p>
		<p>有返回值函数:sum()</p>
		<form>
			<input name="btncal" type="button" onclick="message();" value="计算并显示两个数的和"/>
		</form>
	</body>
</html>

图片

10.1.3.2 body标记中的脚本

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<p id="clk">Clicke Here</p>
		<script>
			var demo = document.getElementById("clk");
			demo.onclick = msg;
			function msg(){
				alert("我是body中的javascript脚本");
			}
		</script>
	</body>
</html>

图片

10.1.3.3 外部js文件中的脚本

html代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript" src="js/demo.js">
			document.write("这条语句没有执行")
		</script>
	</head>
	<body>
		<input name="btn1" type="button" onclick="message()" value="调用外部js文件中的函数"/>
	</body>
</html>

js代码

function message(){
	alert("调用外部js文件")
}

图片

10.1.3.4 事件处理代码中的脚本

代码

	<body>
		<input name="btn1" type="button" onclick="alert('happy')" value="调用外部js文件中的函数"/>
	</body>

图片

10.2 JavaScript语法

10.2.1 语法基础

1.区分大小写

2.变量不区分类型

3.每行代码结尾可以省略分号

4.注释与C、C++、Java等语言相同

10.2.2 标识符和常用变量

10.2.2.1 标识符

不能使用关键字,数字开头,中文名

10.2.2.2 变量声明

var关键字可以应用javascript任何类型的变量声明

10.2.2.3 变量类型

6种

1.Number数值型  2.String字符型  3.Boolean布尔型  4.Null型  5.Undefined型  6.Objext型

10.2.3 运算符与表达式(数学知识和计算机语言知识)

10.2.3.1 算术运算符和表达式

10.2.3.2 关系运算符和表达式

10.2.3.3 逻辑运算符和表达式

10.2.3.4 赋值运算符和表达式

10.2.3.5 条件运算符和表达式

10.2.3.6 逗号运算符和表达式

10.2.4 程序设计

10.2.4.1 条件分支语句

if语句,if - else语句,switch - case语句

10.2.4.2 循环语句

for语句,while语句,do - while语句

10.2.5 函数

10.2.5.1 定义函数

function 函数名 (var1){

        函数代码

}

var是传入函数的变量

10.2.5.2 函数返回值

return 返回值

10.2.5.3 函数调用

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>函数调用</title>
		<script>
			function sayHello(){
				alert("Hello World!");
			}
		</script>
	</head>
	<body>
		<button onclick="sayHello()">单击这里</button>
	</body>
</html>

图片

10.3 JavaScript对象

10.3.1 对象基础

10.3.1.1 概述

各式各样的类型都能被称作对象

10.3.1.2 属性

如长度,宽度等

10.3.1.3 方法

可以执行的行为,能调用功能或者自己写一个功能

10.3.2 常用对象

10.3.2.1 window对象

1.窗口操作

1.moveBy(x,y):对当前位置进行移动x,y的值

2.moveTo (x,y):对当前位置进行移动到x,y的值

3.resizeBy(x,y):对当前大小进行调整x,y的值

4.resizeTo(x,y):对当前大小进行调整到x,y的值

2.打开和关闭窗口

打开窗口

语法:window.open(url,name,features,replace);

url:要载入窗体的URL。
name:新建窗体的名称。
features:代表窗体特性的字符串,字符串中每个特性使用逗号分隔。
replace:一个布尔值,说明新载人的页面是否替换当前载入的页面,此参数通常不用指定。

关闭窗口

语法:window.close();

3.系统对话框

alert():显示提示信息

confirm():弹出消息对话框(包含一个ok和cancel按钮)

prompt():一个带输入的对话框

javascript代码

		<script type="text/javascript">
			function moveWin(){
				myWindow.moveTo(50,50)
			}
		</script>

html代码

		<script  type="text/javascript">
			myWindow = window.open("," , width=200,height=100)
			myWindow.document.write("this is my window");
		</script>
		<input type="button" value="MovemyWindow" onclick="moveWin()"/>

10.3.2.2 document对象

作用:描述当前窗口或指定窗口对象的文档

代码:

        <img src="img/1.bmp" BORDER ="0" alt=""/><br />
		<script type="text/javascript">
			document.write("文件地址:"+document.location+"<br/>")
			document.write("文件标题:"+document.title+"<br/>");
			document.write("图片路径:"+document.images[0].src+"<br/>");
		</script>

10.3.2.3 location对象

作用:用于获取或设置窗体的url,并且可以用于解析url

10.3.2.4 navigator对象

作用:用于检测浏览器与操作系统的版本

10.3.2.5 screen对象

作用:用于获取屏幕的信息

10.4 JavaScript事件

10.4.1 事件及事件处理

10.4.2 常用事件

1.页面事件

2.鼠标事件

3.键盘事件

10.4.3 事件应用举例

如:鼠标单击,键盘按键

10.5 综合案例——轮播广告

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>图片轮播效果</title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
				text-decoration: none;
			}
			body{
				padding: 20px;
			}
			#container{
				position: relative;
				width: 600px;
				height: 400px;
				border: 1px solid #333;
				overflow: hidden;
				margin-left: auto;
				margin-right: auto;
			}
			#list{
				position: absolute;
				z-index: 1;
				width: 4200px;
				height: 400px;
			}
			#list img{
				float: left;
				width: 600px;
				height: 400px;
			}
			#buttons{
				position: absolute;
				left: 250px;
				bottom: 20px;
				z-index: 2;
				height: 10px;
				width: 100px;
			}
			#buttons span{
				float: left;
				margin-right: 5px;
				width: 10px;
				height: 10px;
				border: 1px solid #fff;
				border-radius: 50%;
				background: #333;
				cursor: pointer;
			}
			#buttons.on{
				background: orangered;
			}
			.arrow{
				position: absolute;
				top: 180px;
				z-index: 2;
				display: none;
				width: 40px;
				height: 40px;
				font-size: 36px;
				font-weight: bold;
				line-height: 39px;
				text-align: center;
				color: #fff;
				background-color: rgba(0,0,0,3);
				cursor: pointer;
			}
			.arrow:hover{
				background-color:  rgba(0,0,0,7);
			}
			#container:hover .arrow{
				display: block;
			}
			#prev{
				left: 20px;
			}
			#next{
				right: 20px;
			}
		</style>
		<script type="text/javascript">
				window.onload=function(){
				var container = document.getElementById('container');
				var list = document.getElementById('list');
				var buttons = document.getElementById('buttons').getElementsByTagName('span');
				var prev = document.getElementById('prev');
				var next = document.getElementById('next');
				var index =1;
				var timer;
				function animate(offset){
					var newLeft = parseInt(list.style.left)+offset;
					list.style.left = newLeft+'px';
					if(newLeft>-600){
						list.style.left=-3000+'px';
					}
					if(newLeft<-3000){
						list.style.left=-600+'px';
					}
				}
				function play(){
					timer= setInterval(function(){
						next.onclick();
					},2000)
				}
				function stop(){
					clearInterval(timer);
				}
				function buttonsShow() {
					for (var i = 0; i < buttons.length; i++) {
						if (buttons[i].className == "on") {
							buttons[i].className = "";
							}
						}
					buttons[index - 1].className = "on";
				}
				prev.onclick = function() {
					index -= 1;
					if (index < 1) {
						index = 5;
					}
					buttonsShow();
					animate(600);
				};
					 
						next.onclick = function() {
							index += 1;
							if (index > 5) {
								index = 1;
							}
							animate(-600);
							buttonsShow();
						};
					 
						for (var i = 0; i < buttons.length; i++) {
							(function(i) {
								buttons[i].onclick = function() {
									var clickIndex = parseInt(this.getAttribute('index'));
									var offset = 600 * (index - clickIndex);
									animate(offset);
									index = clickIndex;
									buttonsShow();
								};
							})(i);
						}
					 
						container.onmouseover = stop;
						container.onmouseout = play;
						play();
					}
		</script>
	</head>
	<body>
		<div id="container">
			<div id="list" style="left: -600px;">
				<img src="img/p1.jpg" alt="5"/>
				<img src="img/p5.jpg" alt="1"/>
				<img src="img/p2.jpg" alt="2"/>
				<img src="img/p3.jpg" alt="3"/>
				<img src="img/p4.jpg" alt="4"/>
				<img src="img/p5.jpg" alt="5"/>
				<img src="img/p1.jpg" alt="5"/>
			</div>
			<div id="buttons">
				<span index="1" class="on"></span>
				<span index="2"></span>
				<span index="3"></span>
				<span index="4"></span>
				<span index="5"></span>
			</div>
			<a href="javascript:;" id="prev" class="arrow">&lt;</a>
			<a href="javascript:;" id="next" class="arrow">&gt;</a>
		</div>
	</body>
</html>

图片

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

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

相关文章

Linux操作系统:进程控制_进程的创建、终止、等待

一、进程创建 这一块我们在前篇都已经讲过&#xff0c;第一部分就简单带大家回顾一下之前的知识。 1.1 fork函数初识 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include<unistd.h>…

MySQL数据库学习(持续更新ing)

1. 什么是数据库&#xff1f;什么是数据库管理系统&#xff1f;什么是SQL&#xff1f;他们之间的关系是什么&#xff1f; 数据库&#xff1a;Database&#xff0c; 简称DB。按照一定格式存储数据&#xff0c;一些文件的组合。 数据库管理系统&#xff1a;DataBaseManagement&…

电脑自动关机时间如何定?Wise Auto Shutdown 设置关机教程

在日常使用电脑的过程中&#xff0c;有时我们需要让电脑在特定的时间自动关机&#xff0c;比如在下载大文件完成后、执行长时间的任务结束时&#xff0c;或者只是单纯想在某个预定时间让电脑自动关闭以节省能源。这时候&#xff0c;Wise Auto Shutdown 这款软件就能派上大用场了…

【LeetCode热题100】队列+宽搜

这篇博客是关于队列宽搜的几道题&#xff0c;主要包括N叉树的层序遍历、二叉树的锯齿形层序遍历、二叉树最大宽度、在每个数行中找最大值。 class Solution { public:vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> ret;if(!root) …

【数据结构】二叉树(2)

目录 1. 二叉树的遍历 前序遍历 中序遍历 后序遍历 2. 计算二叉树中的节点个数 3. 计算二叉树中叶子节点个数 4. 计算二叉树的深度 5. 计算二叉树第k层节点个数 6. 二叉树基础练习 7. 二叉树的创建 8. 二叉树的销毁 9. 层序遍历 10. 判断二叉树是否为完全二叉树 1…

mysql | limit X, -1 早已不可使用,本身也是一个错误

一、背景 需求&#xff1a;使用 mysql 时&#xff0c;需要获取第 X 条数据之后的所有数据。 这时&#xff0c;首先想到的就是利用 limit 来实现。 早期的部分文章或者资料中&#xff0c;提到可以使用&#xff1a; limit X,-1 例如&#xff0c;获取第一条后的所有数据&…

C++:探索AVL树旋转的奥秘

文章目录 前言 AVL树为什么要旋转&#xff1f;一、插入一个值的大概过程1. 插入一个值的大致过程2. 平衡因子更新原则3. 旋转处理的目的 二、左单旋1. 左单旋旋转方式总处理图2. 左单旋具体会遇到的情况3. 左单旋代码总结 三、右单旋1. 右单旋旋转方式总处理图2. 右单旋具体会遇…

开发一套ERP 第二弹

前后端分离 一起做,发现会有点问题,有时候分不太清楚 可以使用 naive ui admin 作为前端 menu 的配置在mock 中,在mock 中修改为自己需要的选项即可,mock 中返回的是前端需要测试的数据接口 同理自己需要的API也可以定义到 api 中&#xff0c;然后在mock 中配置返回的结果;然后…

cangjie (仓颉) vscode环境搭建

sdk下载 下载中心-仓颉编程语言官网 可选择半年更新版&#xff0c;不用申请。目前版本&#xff1a;0.53.13 &#xff0c;选择不同平台压缩包下载解压到任意位置即可 补充下载&#xff0c;vscode插件解压后&#xff0c;在vscode扩展中选择从vsix安装&#xff0c;安装后新增名为…

ES6 、ESNext 规范、编译工具babel

ES6 、ESNext 规范、编译工具简介 ES6ES&#xff08;ECMAScript&#xff09; vs JS常量进一步探讨 obj对象的扩展面试&#xff1a;使对象属性也不能更改——Object.freeze(obj) 解构deconstruction变量的解构赋值&#xff1a;数组解构赋值&#xff1a;对象解构赋值&#xff1a;…

SQL 语句执行计划中的连接方式

SQL 语句执行计划中的连接方式 join操作 join操作基本分为3大类&#xff1a;外连接&#xff08;细分为&#xff1a;左连接&#xff08;Left outer join/ left join&#xff09;、右连接&#xff08;right outer join/ right join&#xff09;、全连接&#xff08;full outer …

数据结构第一讲

数据结构定义 算法的定义 什么是好算法&#xff1f; 空间复杂度 时间复杂度 例子1 打印1到N之间的正整数 有递归和循环两种方法实现。 但是在数字变大后&#xff0c;递归的方法会导致内存占用过多而崩溃。 而循环则不会 例子2 写程序给定多项式在X处的值 从里往外算的算…

--- 文件IO java ---

文本文件和二进制文件 文件再底层其实就是以一段二进制数据的形式储存的&#xff0c;当我用记事本打开文件时&#xff0c;有些文件会出现乱码&#xff0c;这就是二进制文件&#xff0c;而有一些文件是特殊的&#xff0c;他以特定的编码方式&#xff08;比如ascll&#xff09;可…

洛谷 P1616 疯狂的采药 C语言 记忆化搜索

题目&#xff1a; https://www.luogu.com.cn/problem/P1616?contestId215526 完全背包问题&#xff0c;最后一个超出空间了。完全背包和就是无限次的拿&#xff0c;公式跟01背包差不多。 但是&#xff0c;只有当前能拿和拿不下&#xff0c;换下一个。注意要处理好边界条件。…

java基础概念37:正则表达式2-爬虫

一、定义 【回顾】正则表达式的作用 作用一&#xff1a;校验字符串是否满足规则作用二&#xff1a;在一段文本中查找满足要求的内容——爬虫 二、本地爬虫VS网络爬虫 2-1、本地爬虫 示例&#xff1a; 代码优化&#xff1a; public static void main(String[] args) {// 大…

多目标跟踪算法

文章目录 一、传统方法1. 基于卡尔曼滤波器的方法1.1 Kalman Filter(卡尔曼滤波器) 2. 基于数据关联的方法2.1 匈牙利算法 二、深度学习方法1. 基于检测的多目标跟踪1.1 SORT算法1.2 DeepSort1.3 BoT-SORT 2. 基于特征关联和增强的方法2.1 ByteTrack 3. 基于Transformer的方法3…

网络(TCP)

目录 TCP socket API 详解 bind(): 我们的程序中对myaddr参数是这样初始化的: listen(): accept(): 理解accecpt的返回值: 饭店拉客例子 connect tcp服务器和udp类似的部分代码 把套接字设置为监听状态&#xff08;listen&#xff09; 测试 查看端口号和IP地址&…

阿里云 DevOps 资源安全扫描实践

随着企业上云进程的加速&#xff0c;云资源的使用量日益增长&#xff0c;云环境中资源的安全性和稳定性成为了企业业务运营的关键要素 面对多样化的云资源和复杂的应用场景&#xff0c;传统的安全管理手段已无法完全满足企业日益严苛的安全需求。为了确保云上资源的安全性&…

WebGL进阶(十一)层次模型

理论基础&#xff1a; 效果&#xff1a; 源码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"vie…

vscode下面python调试报错ImportError: cannot import name ‘Literal‘ from ‘typing‘

1 问题描述 我在vscode下面编写python程序&#xff0c;这个程序是在一个英伟达anoconda环境下的项目。之前能运行能调试&#xff0c;最近发现只能运行ctlf5&#xff0c;但是使用f5进行调试时&#xff0c;报错“File “c:\Users\86137.vscode\extensions\ms-python.debugpy-202…