web前端——javaScript

news2024/11/15 23:55:22

目录

一、javaScript概述

1.javaScript历史

2.JavaScript与html,css关系

二、基本语法

①放在head中 

②放在 body中  

③写在外部的.js文件中

1.变量

2.数据类型

3.算术运算符 

4.逻辑运算符

5.赋值运算 

6.逻辑运算符 

7.条件运算符

8.控制语句 

三、函数

1.函数定义的基本语法

2.函数调用

3.全局函数

四、内置对象

1.String字符串

2.Array数组

3.Date

4.Math 

五、事件

六、Html DOM对象

1.Html DOM概述

 2.查找元素

 3.改变HTML

 4.改变CSS

七、计时


一、javaScript概述

1.javaScript历史

● JavaScript是由Netscape公司(美国网景公司)开发的一种脚本语言。

● Netscape公司将这种脚本语言命名为LiveScript,与java一样,也是面向对象的语言,而且无需编译,可由浏览器直接解释运行。

● Netscape公司见LiveScript大有发展前途,而SUN公司( java)也觉得可以利用Livescript为Java的普及做铺垫,于是两家签订协议将LiveScript改为JavaScript

● JavaScript一种直译式脚本语言,用来为网页添加各式各样的动态功能 (javaScript可以操作网页内容),不需要编译可直接通过浏览器解释运行,通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

2.JavaScript与html,css关系

JavaScript是一种基于对象和事件驱动并具有安全性的解释性语言,其目的就是增强Web客户交互,弥补了HTML的缺陷

二、基本语法

脚本写在哪里?

javaScript脚本写在一组<script>标签中,此标签可以放在head中或body中,一般习惯放在 head中,还可以将脚本写在外部的.js文件中,在html页面中导入外部的.js文件

第一个JavaScript程序
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/index.js"></script>
		<script>
			//调用对话框库函数
			//alert("大家好 我是js!"); 
			alert("hello js!")
		</script>
	</head>
	<body>
	</body>
</html>
对话框
alert(‘welcome!’); 提示对话框

 ①放在head中 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			alert("hello js!")
		</script>
	</head>
	<body>
	</body>
</html>

②放在 body中  

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
        <script src="js/index.js"></script>
	</body>
</html>

③写在外部的.js文件中

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/index.js"></script>
	</head>
	<body>
	</body>
</html>

1.变量

● 声明变量用var关键字  例如 var name;

● 声明变量的同时对其赋值   var test=“THIS IS A BOOK”

2.数据类型

javaScript支持的数据类型

● ①数值型(number): 其中包括整型数和浮点型数。

● ②布尔型(boolean): 即逻辑值,true或flase。

● ③字符串型: 由单个或多个文本字符组成。字符串是用单引号或双引号来说明的。(使用单引号来输入包含引号的字符串)

● ④undefined类型

● ⑤Object类型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/* 数据类型 */
			
			//1.数值类型(包含整数和浮点数)
			var a = 10;
			var b = 10.5; 
			/* alert(typeof(b));number  typeof(b)返回变量的数据类型 */
			
			//2.布尔类型
			var c = true;
			var d = false;
			/* alert(a==b); */
			
			//3.字符串,单引号和双引号都表示字符串
			var e = "abcd";
			var f = 'abcd';
			/* alert(typeof(e));
			alert(typeof(f)); */
			
			//4.undefined 声明了变量,却没有
			var g;
			alert(g==undefined);
			
			//对象类型
			var date = new Date();
			/* alert(date.getFullYear());
			alert(date.getMonth()+1);
			date.getDate(); */
	
		</script>
	</head>
	<body>
	</body>
</html>

3.算术运算符 

+:可以进行“加法”与“连接”运算,如果2个运算符中的一个是字符串,javascript就将另一个转换成字符串,然后将2个运算数连接起来

-:"字符串"-数值=数值,如果2个运算符中的一个是字符串,会把表达式中的数字字符串尝试类型转换,如果字符串不能转换为数值 ,返回NaN

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/* 
			 算术运算符 + - * / % ++ --
			 + 加法运算 字符串运算
			 */
			 var a = "10";
			 var b = 5;
			 var c = 10;
			 var d = "a";
			 //alert(a+b);//字符串连接 105
             //alert(b+c);//加法 15
			 
			 /* alert(c-b);//5 减法
			 alert(a-b);//5 "字符串"-数值=数值  会把表达式中的数字字符串尝试类型转换
			 alert(c-d);//NaN not a number 如果字符串不能转换为数值 返回NaN */
			 
			// alert(a*b);//50
			// alert(a*d);//NaN
		</script>
	</head>
	<body>
	</body>
</html>

4.逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑,给定 x=6 以及 y=3 ,下表解释了逻辑运算符:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			 var a = "10";
			 var b = 5;
			 var c = 10;
			 var d = "a";
			// alert(a==c);//只比较值是否相等
			// alert(a===c);//全等(值和类型)
		</script>
	</head>
	<body>
	</body>
</html>

5.赋值运算 

6.逻辑运算符 

逻辑运算符用于测定变量或值之间的逻辑,给定 x=6 以及 y=3 ,下表解释了逻辑运算符:

7.条件运算符

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符
语法:
var result = (条件表达式)?结果1:结果2
当条件成立返回?后的内容,否则返回:后的内容

8.控制语句 

第一种是选择结构
单一选择结构(if)
二路选择结构(if/else)
多路选择结构(switch)
第二种类型的程序控制结构是循环结构
由计数器控制的循环(for)
在循环的开头测试表达式(while)
在循环的末尾测试表达式(do/while)
break continue
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			 var a = "10";
			 var b = 5;
			 var c = 10;
			 var d = "a";
			if(c>b){
				alert(c);
			} 
			 
			for (var i = 0;i < 5;i++){
				alert(i);
			}
		</script>
	</head>
	<body>
	</body>
</html>

三、函数

1.函数定义的基本语法

function functionName([arguments]){
    javascript statements
    [return expression]
}
function: 表示函数定义的关键字
functionName:表示函数名
arguments:表示传递给函数的参数列表,各个参数之间用逗号隔开,可以为空
statements: 表示实现函数功能的函数体
return expression:表示函数将返回expression的值,同样是可选的的语句

2.函数调用

由函数来调用
<script type= "text/javascript">
function fun(){
  alert(“test”);
}
fun();//函数名调用
function fun2(){
fun();//在其他函数中调用
}
</script>

3.全局函数

parseInt(arg) 把括号内的内容转换成整数之后的值。如果括号内是字符串, 则字符串开头的数字部分被转换成整数,如果以字母开头,则返回 “NaN” 
parseFloat(arg) 把括号内的字符串转换成浮点数之后的值,字符串开头的数字部分被转换成浮点数,如果以字母开头,则返回“NaN” 
typeof (arg)返回arg值的数据类型
eval(arg) 可运算某个字符串
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
		//①无参构造方法
	    /*
        function test(){
			alert("你好");
		} */
		//②有参构造方法
		/* 
		function test(a,b,c){
			alert(a+":"+b+":"+"c");
		}
		*/
		//有返回值
		/* 
		 function test(a,b){
			 return a+b;
		 }
		 */
	   //函数调用
	 /*  test(); 
	   
	   test(true,"abc",new Date()); 
	   
	   var c = test(10,23);
	   alert(c); */
	   
	   //系统中的全局函数 在系统已经定义好了,直接调用的函数
	   //alert(输出内容); 弹窗显示
	   
	    var a = 10.5;
		var b = "10.5";
		var c = 5;
		alert(parseInt(a));//把浮点数转为整数
		alert(parseInt(b)+c);//把字符串更换转换成整数, 如果转换的内容是字符串,字母不能开头, 只将开头的数字部分转换
		alert(parseFloat(c));
		alert(parseFloat(b));	
		alert(typeof(a));
		alert(typeof(b)); //typeof(变量)  获取变量的数据类型
		var s = "2+3*2"; var s = 2+3*2;
		var s = "alert(a)";
		eval(s);//把传入进来的字符串可以当做js脚本执行		
		</script>
	</head>
	<body>
	</body>
</html>

四、内置对象

1.String字符串

●属性
length 用法:返回该字符串的长度
●方法
charAt(n) :返回该字符串位于第 n 位的单个字符
indexOf(char) :返回指定 char 首次出现的位置
lastIndexOf(char) :跟 indexOf() 相似,不过是从后边开始找
substring(start,end) :返回原字符串的子字符串,该字符串是原字符串从 start 位置到end 位置的前一位置的一段 .
substr(start,length) :返回原字符串的子字符串,该字符串是原字符串从 start 位置开始,长度为length 的一段
split( 分隔符字符 ) :返回一个数组,该数组是从字符串对象中分离开来的, < 分隔符字符> 决定了分离的地方,它本身不会包含在所返回的数组中
例如:'1&2&345&678'.split('&')返回数组:1,2,345,678

2.Array数组

数组的定义方法:
  var <数组名> = new Array();
这样就定义了一个空数组,以后要添加数组元素,就用:
  <数组名>[下标] = 值;
如果想在定义数组的时候直接初始化数据,请用:
  var <数组名> = new Array(<元素1>, <元素2>, <元素3>...);
还可以
  var <数组名> = [<元素1>, <元素2>, <元素3>...];
●属性
length :数组的长度,即数组里有多少个元素
●方法
join(<分隔符>) : 返回一个字符串,该字符串把数组中的各个元素串起来,用 < 分隔符> 置于元素与元素之间
reverse(): 使数组中的元素顺序反过来。如果对数组 [1, 2, 3] 使用这个方法,它将使数组变成:[3, 2, 1]
sort() : 使数组中的元素按照一定的顺序排列。如果不指定 < 方法函数 > ,则按字母顺序排列
对数字排序需要调用排序函数
function sortNumber(a,b){
  return a - b;
}

 3.Date

● 获取日期

new Date() 返回当日的日期和时间
getFullYear() 返回四位数字年份
getDate() 返回一个月中的某一天 (1 ~ 31)
getMonth() 返回月份 (0 ~ 11)
getDay() 返回一周中的某一天 (0 ~ 6)
getHours() 返回 Date 对象的小时 (0 ~ 23)
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)
getSeconds() 返回 Date 对象的秒数 (0 ~ 59))

4.Math 

● Math 对象,提供对数据的数学计算

● 属性

PI 返回π(3.1415926535...)

● 方法 

Math.abs(x) 绝对值计算;
Math.pow(x,y) 数的幂;x的y次幂
Math.sqrt(x) 计算平方根;
Math.ceil(x) 对一个数进行上舍入
Math.floor(x) 对一个数进行下舍入。
Math.round(x) 把一个数四舍五入为最接近的整数
Math.random() 返回 0 ~ 1 之间的随机数
Math.max(x,y) 返回 x 和 y 中的最大值
Math.min(x,y) 返回 x 和 y 中的最小值 

五、事件

● 一些常用的事件

onclick()鼠标点击时;
onblur()标签失去焦点;
onfocus()标签获得焦点;
onmouseover()鼠标被移到某标签之上;
onmouseout鼠标从某标签移开;
onload()是在网页加载完毕后触发相应的的事件处理程序;
onchange()是指当前标签失去焦点并且标签的内容发生改变时触发事件处理程序。

六、Html DOM对象

1.Html DOM概述

● DOM是Document Object Model文档对象(网页中的标签)模型的缩写
● 通过html dom,可用javaScript操作html文档的所有标签

 2.查找元素

● 通常,通过 JavaScript,您需要操作 HTML 标签
● 为了做到这件事情,您必须首先找到该标签
● 要操作,先得到
● 有四种方法来做这件事:
①通过 id 找到 HTML 标签
document.getElementById(“id");
②通过标签名找到 HTML 标签
document.getElementsByTagName("p");
③通过类名找到 HTML 标签
document.getElementsByClassName("p");
④通过name找到 HTML 标签
document.getElementsByName(“name");

 3.改变HTML

● Html dom允许javaScript 改变html标签的内容

  • 改变 HTML 标签的属性
  document.getElementById(“username").value=“new value";
  document.getElementById("image").src=“new.jpg";
  • 修改 HTML 内容的最简单的方法时使用 innerHTML 属性
  document.getElementById( “div”).innerHTML= new HTML  

 4.改变CSS

● html dom允许 javaScript改变html标签的样式
语法:
document.getElementById("id").style.property=new style;
例:
document.getElementById("p2").style.backgroundImage="url(bg.jpg)";

七、计时

● 通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行,我们称之为计时事件
●  方法
  setTimeout(“函数”,”时间”)未来的某时执行代码
  clearTimeout()取消setTimeout()
  setInterval(“函数”,”时间”)每隔指定时间重复调用
  clearInterval()取消setInterval()
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function hello(){
				console.log("下午好");
			}
			/* var t = setTimeout("hello()",5000);//设定指定时间后调用指定的函数,只调用一次 */
			var t;
			function startTime(){
				t = setInterval("hello()",1000);
			}
			function stopTime(){
				/* clearTimeout(t);//取消定时器 */
				clearInterval(t);
			}
		</script>
	</head>
	<body>
		<input type="button" value="开始" onclick="startTime()"/>
		<input type="button" value="停止" onclick="stopTime()"/>
	</body>
</html>

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

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

相关文章

简单的text/html无法解析解决记录

简单的text/html无法解析解决记录 1. bug发现 我们所有的服务都是微服务&#xff0c;服务间调用都是使用feign接口进行调用&#xff0c;正常调用都没有问题&#xff0c;但是某一天发现部分从esb服务调用过来到我们本地的服务&#xff0c;本地服务再使用feign接口调用其他微服…

电脑定时重启怎么设置?用这个智能管理电脑定时任务的好帮手!

电脑定时重启怎么设置&#xff1f;用这个智能管理电脑定时任务的好帮手&#xff01;电脑定时重启&#xff0c;这个设置其实很简单&#xff0c;但是很多人都不知道用电脑怎么设置&#xff0c;而且操作也很麻烦&#xff0c;并不好管理&#xff0c;这个时候我们需要一个非常智能的…

模型情景制作-冰镇啤酒

夏日炎炎&#xff0c;当我们在真实世界中开一瓶冰镇啤酒的时候&#xff0c;我们也可以为模型世界中的人物添加一些冰镇啤酒。 下面介绍一种快速酒瓶制造方法&#xff0c;您只需要很少工具&#xff1a; 截取尽量直的流道&#xff08;传说中的板件零件架&#xff09;,将其夹在您的…

adb push 报错 ...error: failed to copy...

一、现象&#xff1a; 原因&#xff1a;没有权限导致的 二、解决方法&#xff1a; adb root adb remount #重新加载文件系统三、再次尝试&#xff1a;adb push xxx.apk /system/app 结果&#xff1a;成功

详细解释Spring事务的传播机制

详细解释Spring事务的传播机制 Spring框架中&#xff0c;事务传播机制是指在一个事务方法调用另一个事务方法时&#xff0c;Spring如何管理这些方法之间的事务边界。Spring提供了七种事务传播行为&#xff0c;以满足不同的业务需求。下面将详细解释每种传播行为及其适用场景&a…

不用翻墙,手把手教你用MAC本地版免费ComfyUI搭建Stable Diffusion工作流,让出图效率起飞

AI绘图如火如荼发展了这么久&#xff0c;从mj到SD webUI,再到时下最热门的Comfy UI。因为显存的问题对Mac用户一直不是很友好&#xff0c;阻碍了大部分设计师上手学习的道路。但是Comflowy解决了这个痛点。这是一款Mac系统可用本地版的sd&#xff0c;一键安装&#xff0c;让苹果…

阿里巴巴找黄金宝箱(IV)

系列文章目录 本人最近再练习算法&#xff0c;所以会发布自己的解题思路&#xff0c;希望大家多指教 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 一、题目描述 贫如洗的椎夫阿里巴巴在去砍柴的路上&#xff0c;无意中发现…

基于SpringBoot学生信息管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

操纵系统的特征调度算法

操纵系统的特征 调度算法是操作系统用来决定各个进程/作业在CPU上执行顺序的方法。最常见的调度算法有&#xff1a;FCFS、SJF、HRRN、RR、HPF和MFQ。这集先介绍前三个 先来先服务 FCFS 根据作业到达的先后顺序调度&#xff0c;CPU会一直运行直到作业结束&#xff0c;所以这个…

跌幅高达10.2分!32本Top,Elsevier旗下在检SSCI期刊(2024年6月影响因子更新版)

本周投稿推荐 SSCI • 1区&#xff0c;4.0-5.0&#xff08;无需返修&#xff0c;提交可录&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09; CNKI • 7天录用-检索&#xff08;急录友好&#xff09; SCI&EI • 4区生物医学类&#xff0c;0.1-0.5&…

AJAX进阶-day4

目录 同步代码和异步代码 回调函数地狱 Promise - 链式调用 async函数和await async函数和await_捕获错误 事件循环-EventLoop 宏任务与微任务 Promise.all 静态方法 同步代码和异步代码 同步代码&#xff1a; 逐行 执行&#xff0c;需 原地等待 结果 后&#xff0c;才…

界面控件Telerik UI for Winforms 2024 Q2新版亮点 - 发布全新的AI相关组件

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件&#xff0c;所有的UI for WinForms控件都具有完整的主题支持&#xff0c;可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。 本文将介绍界面组件Telerik UI for Winform…

超声波清洗机洗眼镜效果好吗?四大主流超声波清洗机终极大测评

清洗眼镜是日常生活中一件很麻烦的事情&#xff0c;常规的清洗方式无法完全清洁镜片上的细菌和污垢&#xff0c;而且容易造成划痕。也有很多朋友为了节省时间&#xff0c;每次清洗眼镜都用衣服衣角随便擦拭擦拭就完事了&#xff0c;但其实这样做往往会很伤眼镜&#xff0c;缩短…

域名 Whois 检测:企业网络安全与品牌保护的利器

域名是企业在互联网上的重要标识&#xff0c;其安全性和合规性直接影响着企业的业务运营和品牌声誉。而域名 Whois 检测通过全面分析和监控域名的 Whois 信息&#xff0c;为企业提供了多方面的保障&#xff0c;帮助企业识别潜在的网络威胁、保护品牌资产、优化域名管理。 那么什…

Shopee API接口——获取商家店铺商品列表

一、引言 在跨境电商领域&#xff0c;Shopee作为东南亚地区领先的电商平台&#xff0c;为众多商家提供了广阔的市场和丰富的销售机会。本文将详细介绍如何通过Shopee API获取商家店铺商品列表&#xff0c;并探讨其应用场景。 二、核心功能介绍 Shopee API获取商家店铺商品列…

netmiko_ssh_华为防火墙

from netmiko import ConnectHandlerip 防火墙ip地址hw_fw {device_type: huawei,host: ip, # 使用 host 字段同时指定 IP 和端口号username: 用户名,password: 密码,port: 50022 # 直接设置 port 字段 }net_connect ConnectHandler(**hw_fw)ou net_connect.send_command…

数据恢复篇:如何在Android上恢复删除的短信

如果您不小心删除了Android设备上的短信并想要检索它们&#xff0c;则可以尝试以下方法&#xff1a; 如何在Android上恢复删除的短信 检查您的备份&#xff1a; 如果您之前备份了Android设备&#xff0c;则可以从备份中恢复已删除的短信。检查您设备的内部存储空间或 Google 云…

科普小课堂|不同版本USB接口详细解析

USB接口凭借其广泛的兼容性和高性能&#xff0c;已成为连接多样外设的主要接口&#xff0c;囊括了日常的键盘、鼠标等输入设备以及其他更多的领域。不仅如此&#xff0c;USB还展现了高度灵活性&#xff0c;能够便捷地转换为其他总线接口&#xff0c;例如实现USB到以太网或USB到…

降低IT运营成本,提升客户体验 |LinkSLA亮相第十届CDIE

6月25-26日&#xff0c;中国数字化创新博览会&#xff08;CDIE 2024&#xff09;在上海张江科学会堂举行。本届展览主题为“AI创新&#xff0c;引领商业增长新格局”&#xff0c;旨在交流企业在数字化时代&#xff0c;如何以科技为驱动&#xff0c;在转型中如何把握机遇&#x…

用Verilog实现4位计数器(时序逻辑)

用Verilog实现4位计数器。&#xff08;时序逻辑&#xff09; 实验目的&#xff1a; 通过用Verilog实现4位计数器&#xff0c;进一步熟悉Verilog的语法和时序逻辑电路。 实验描述&#xff1a; 输入&#xff1a; Clock&#xff1a;如果计数器enable信号为1&#xff0c;那么在…