前端基础:JavaaScript(篇二)

目录

内置对象

String字符串

属性

代码

运行

方法

代码

运行

日期

代码

运行

Math

代码

运行

数组

定义

属性

代码

运行 

方法

join(分隔符>) :

代码

运行

reverse():

代码

运行

sort() :

代码

运行

事件

代码

运行

代码 

运行

Html DOM对象

Html DOM-查找 元素

HTML DOM - 改变 HTML

HTML DOM - 改变 CSS

代码

运行

代码

运行

代码

运行

代码

运行

计时

代码

运行

代码

运行


内置对象

String字符串

属性

length 用法:返回该字符串的长度.

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var s = "abcdefg";
			console.log(s.length);
			console.log(s.charAt(2)); 
		</script>
	</head>
	<body>
	</body>
</html>
运行

方法

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。

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var s = "abcdefg"; 
			console.log(s.charAt(2));
			console.log(s.indexOf("d"));
			console.log(s.substring(0,4));//substring(开始的位置,结束的位置)
			console.log(s.substr(1,4));//substr(开始的位置,截取的长度) 
		</script>
	</head>
	<body>
	</body>
</html>
运行

日期

new Date() 返回当日的日期和时间

getFullYear() 返回四位数字年份

getDate() 返回一个月中的某一天 (1 ~ 31)

getMonth() 返回月份 (0 ~ 11)

getDay() 返回一周中的某一天 (0 ~ 6)

getHours() 返回 Date 对象的小时 (0 ~ 23)

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)

getSeconds() 返回 Date 对象的秒数 (0 ~ 59))

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var date = new Date();
			console.log(date.getFullYear());
			console.log(date.getMonth()+1);
			console.log(date.getDate());//月中的天
			console.log(date.getDay());//星期	
		</script>
	</head>
	<body>
	</body>
</html>

运行

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 中的最小值

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			console.log(Math.random());	
		</script>
	</head>
	<body>
	</body>
</html>

运行

数组

定义

1、var 数组名> = new Array();

      添加数组元素:数组名>[下标] = 值;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var a = new Array();
			    a[0] = 1;
			    a[1] = 2;
			    a[3] = "a";
				a[5] = true; 
		</script>
	</head>
	<body>
	</body>
</html>

2、var 数组名> = new Array(元素1>, 元素2>, 元素3>...);

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var a = new Array(1,2,3,4,5,6);	
		</script>
	</head>
	<body>
	</body>
</html>

3、var 数组名> = [元素1>, 元素2>, 元素3>...];

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var a = [1,2,3,4,5,66];
		</script>
	</head>
	<body>
	</body>
</html>

属性

length :数组的长度,即数组里有多少个元素。

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var a = [1,2,3,4,5,66];
			  //a[6] = 7;
			console.log(a);	
			console.log(a.length);
		</script>
	</head>
	<body>
	</body>
</html>
运行 

方法

join(分隔符>) :
代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var a = [1,2,3,4,5,66];
		
			var s = a.join("  ");//将数组转为字符串
			console.log(s);
		</script>
	</head>
	<body>
	</body>
</html>
运行

reverse():
代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var a = [1,2,3,4,5,66];
			console.log(a.reverse());//数组逆序的操作
		</script>
	</head>
	<body>
	</body>
</html>
运行

sort() :
代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			//var a1 = ["c","a","b"]; 
			var a1 = [2,11,3,5,1];
			a1.sort(numbersort);//在sort内部会调用自定义的numbersort函数 ,每次传入两个值
			console.log(a1);
			
			//对数字排序的自定义的比较函数
			function numbersort(a,b){
				return a-b;
			}
		</script>
	</head>
	<body>
	</body>
</html>
运行

var a1 = ["c","a","b"]; 


var a1 = [2,11,3,5,1];

事件

onclick  鼠标单击事件
ondblclick  鼠标双击事件
onfocus  聚焦事件 当输入框获得鼠标焦点时触发事件
onblur  失焦事件 当输入框失去鼠标焦点时触发事件
onload  当网页内容加载完毕后触发事件
onchange  当输入框/下拉框失去鼠标焦点且内容发生改变时触发事件

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function test(){ 
				console.log("测试"); //控制台输出
			} 
		</script>
	</head>
	<body onload="test()">
		<input type="button" value="单击事件" onclick="test()"/>
		<div onclick="test()">单击事件</div>
		<input type="button" value="双击事件" ondblclick="test()"/>
	</body>
</html>

运行

代码 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function test(){ 
				console.log("测试"); //控制台输出
			} 
		</script>
	</head>
	<body>
		<input type="test" onfocus="test()" onblur="test()"/>
		<div style="background-color: aquamarine;" onmouseover="test()" onmouseout="test()">ooo</div>	
		<input type="text" onchange="test()"/>
	</body>
</html>

运行

Html DOM对象

DOM--文档对象(网页中的标签)
通过标签事件触发函数(js),在函数中又返回来对网页中标签操作
在js中如何能够操作网页中的标签?
在js语言中,认为每一个标签就是一个独一无二的对象
在js语言中可以获得网页中的标签,这样就可以在js中对标签的属性,内容,样式进行操作

Html DOM-查找 元素

要操作那个标签,首先获得标签
document对象,在网页加载完成后自动生产的一个文档对象

通过 id 找到 HTML 标签 document.getElementById(“id");

通过标签名找到 HTML 标签 document.getElementsByTagName("p");

通过类名找到 HTML 标签 document.getElementsByClassName("p");

通过name找到 HTML 标签 document.getElementsByName(“name");

HTML DOM - 改变 HTML

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

document.getElementById(“username").value=“new value"; document.getElementById("image").src=“new.jpg";

修改 HTML 内容的最简单的方法时使用 innerHTML 属性

document.getElementById(“div”).innerHTML=new HTML

HTML DOM - 改变 CSS

html dom允许 javaScript改变html标签的样式。

document.getElementById("id").style.property=new style;

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function oper(){
				//获得网页中的标签
				var tobg1 = document.getElementById("tid1");
				var tobg2 = document.getElementById("tid2");
				//对标签的属性进行操作
				tobg2.value = tobg1.value;
				tobg1.value = "";
				
				tobg1.type = "button";
				tobg1.value = "按钮";
			}
		</script>
	</head>
	<body> 
	    <input type="text" value="" id="tid1"/>
		<input type="text" value="" id="tid2"/>
		<input type="button" value="操作" onclick="oper()"/>
	</body>
</html>

运行

 

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function oper(){ 
				var divobj1 = document.getElementById("box1");
				var divobj2 = document.getElementById("box2");
				alert(divobj1.innerText);只是获取到标签体中的文本内容
				alert(divobj1.innerHTML);可以获取标签体中的所有内容,包括子标签
				divobj2.innerHTML = divobj1.innerHTML;
			}
		</script>
	</head>
	<body> 
	    <div id="box1">
		    <b>
			   哈哈哈
			</b> 
		</div>
		<div id="box2"></div>
		<input type="button" value="操作" onclick="oper()"/>
	</body>
</html>

运行

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function oper(color1,color2){ 
				var divobj1 = document.getElementById("box1");
				divobj1.style.width="100px";
				divobj1.style.height="100px";
				divobj1.style.backgroundColor=color1;
				var bodyobj = document.getElementById("bodyid");
				bodyobj.style.backgroundColor=color2; 
			}
		</script>
	</head>
	<body id="bodyid">
		<div id="box1" ></div> 
		<input type="button" value="蓝色" onclick="oper('skyblue','blue')"/>
		<input type="button" value="绿色" onclick="oper('yellowgreen','green')"/>
		<input type="button" value="粉色" onclick="oper('pink','red')"/>
	</body>
</html>

运行

 

代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function oper(color){ 
				//getElementsByTagName("标签名字") 通过标签名获取所有匹配的标签,返回的时一个标签集合的对象
				var divobjs = document.getElementsByTagName("div");
				//通过class属性名获取所有匹配的标签,返回的时一个标签集合的对象
				var divobjs = document.getElementsByClassName("box");
				//通过name属性名获取所有匹配的标签,返回的时一个标签集合的对象
				var divobjs = document.getElementsByName("div1");
				for (var i = 0; i < divobjs.length; i++) {
					divobjs[i].style.width="100px";
					divobjs[i].style.height="100px";
					divobjs[i].style.backgroundColor=color;
				}
			}
		</script>
	</head>
	<body>
		<div class="box" name="div1">A</div> 
		<div class="box" name="div1">B</div> 
		<div class="box">C</div> 
		<input type="button" value="蓝色" onclick="oper('skyblue')"/>
		<input type="button" value="绿色" onclick="oper('yellowgreen')"/>
		<input type="button" value="粉色" onclick="oper('pink')"/>
		<div>aaa</div>
	</body>
</html>

运行

var divobjs = document.getElementsByTagName("div");


var divobjs = document.getElementsByClassName("box");


var divobjs = document.getElementsByName("div1");

计时

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执 行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

setTimeout(“函数”,”时间”)未来的某时执行代码

clearTimeout()取消setTimeout()

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script
            var t;
			function start(){
			//定时器调用函数
		    t = setTimeout("test()",3000);//延迟指定的时间后,调用指定的函数,只调用一次
			}
			
			function stop(){
				clearTimeout(t);清除定时器
			}
			function test(){
				alert("aaaa");
			}
		</script>
	</head>
	<body>
		<input type="button" value="开始" onclick="start()"/>
		<input type="button" value="关闭定时器" onclick="stop()"/>
	</body>
</html>

运行

只显示弹窗一次 

setInterval(“函数”,”时间”)每隔指定时间重复调用

clearInterval()取消setInterval()

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script
            var t;
			function start(){
			//定时器调用函数
			t = setInterval("test()",2000);//延迟指定的时间后,调用指定发函数,每隔指定时间调用一次
			}
			
			function stop(){
				clearInterval(t);
			}
			function test(){
				alert("aaaa");
			}
		</script>
	</head>
	<body>
		<input type="button" value="开始" onclick="start()"/>
		<input type="button" value="关闭定时器" onclick="stop()"/>
	</body>
</html>

运行

 

点关闭定时器即可停止弹窗提示 

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

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

相关文章

有哪些手持小风扇品牌推荐?五大手持小风扇诚意推荐!

在炎炎夏日&#xff0c;一款便携且高效的手持小风扇无疑是消暑的必备神器。为了帮助大家轻松应对酷暑&#xff0c;我们精心挑选了五大手持小风扇品牌进行诚意推荐。这些品牌不仅拥有出色的降温效果&#xff0c;更在外观设计、便携性、续航能力及操作便捷性上表现卓越。接下来&a…

电子邮件OTP验证身份认证接口API服务商比较

电子邮件OTP验证身份认证接口API服务商如何正确选择&#xff1f; 电子邮件OTP验证是一种广泛应用且安全的身份认证方式。AokSend将比较几家主要的电子邮件OTP验证身份认证接口API服务商&#xff0c;帮助企业选择合适的解决方案。 电子邮件OTP&#xff1a;验证优势 可以为用户…

软考高级-系统分析师知识点100条速记!

宝子们&#xff01;上半年软考已经结束一段时间了&#xff0c;准备备考下半年软考高级-系统分析师的小伙伴可以开始准备了&#xff0c;毕竟高级科目的难度可是不低的&#xff0c;相信参加过上半年系分的小伙伴深有体会。 这里给大家整理了100条系分知识点&#xff0c;涵盖全书9…

【SPIE独立出版】第四届智能交通系统与智慧城市国际学术会议(ITSSC 2024)

第四届智能交通系统与智慧城市国际学术会议&#xff08;ITSSC 2024&#xff09;将于2024年8月23-25日在中国西安举行。本次会议主要围绕智能交通、交通新能源、无人驾驶、智慧城市、智能家居、智能生活等研究领域展开讨论&#xff0c; 旨在为该研究领域的专家学者们提供一个分享…

如何在 Java 应用中使用 Jedis 客户端库来实现 Redis 缓存的基本操作

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

【kubernetes】资源调度综合篇,HPA自动扩/缩容等功能

一、标签和选择器 1、标签 命令行操作 # 查看标签 kubectl get [资源类型] [资源名] --show-labels# 修改标签 kubectl label [资源类型] [资源名] [标签名][标签值] --overwrite# 创建标签 kubectl label [资源类型] [资源名] [标签名][标签值]Yalm文件操作 2、选择器 命…

十三、【源码】自动扫描注册Bean

源码地址&#xff1a;https://github.com/spring-projects/spring-framework 仓库地址&#xff1a;https://gitcode.net/qq_42665745/spring/-/tree/13-auto-scan-bean 自动扫描注册Bean 自动扫描Bean流程&#xff1a; 配置文件中配置标签<context:component-scan base-…

数据库管理-第216期 Oracle的高可用-01(20240703)

数据库管理216期 2024-07-03 数据库管理-第216期 Oracle的高可用-01&#xff08;20240703&#xff09;1 MAA简介2 MAA等级2.1 BRONZE2.2 SILVER2.3 GOLD2.4 PLATINUM 3 业务延续性总结 数据库管理-第216期 Oracle的高可用-01&#xff08;20240703&#xff09; 作者&#xff1a;…

巴西市场有哪些电商平台?巴西最畅销的产品有哪些?

巴西&#xff0c;作为南美洲最大的经济体之一&#xff0c;近年来在电子商务领域展现出强劲的增长势头。随着互联网的普及和消费者购物习惯的改变&#xff0c;电商平台在巴西市场上“打”得热火朝天&#xff0c;不过占据市场份额最大的依然还是美客多。本文将探讨巴西市场上的主…

TikTok矩阵管理系统:打造个人品牌的秘密武器

在当今数字化时代&#xff0c;个人品牌的建立对于个人和企业来说都变得至关重要。无论是企业家、自由职业者还是社交媒体个人&#xff0c;都希望能够在竞争激烈的市场中脱颖而出。而TikTok矩阵管理系统正是一个帮助个人打造个人品牌的秘密武器。 TikTok矩阵管理系统是一个集成了…

AI教育行业全景图(最新版);AI时代内容创作者的窘境;2年内AI教育赛道的切入机会;可汗学院创始人「AI教育革命」新书问世 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. 可汗学院 (Khan Academy) 创始人新书发布&#xff1a;AI将如何颠覆传统教育 可汗学院&#xff08;Khan Academy&#xff09;是 Salman Khan 创立的…

HiAI Foundation开发平台,加速端侧AI应用的智能革命

如果您是一名开发者&#xff0c;正在寻找一种高效、灵活且易于使用的端侧AI开发框架&#xff0c;那么HarmonyOS SDKHiAI Foundation服务&#xff08;HiAI Foundation Kit&#xff09;就是您的理想选择。 作为一款AI开发框架&#xff0c;HiAI Foundation不仅提供强大的NPU计算能…

c/c++语言的一种日志的编写办法

今日分享一下&#xff0c;从某源码中看到这种日志编写方式&#xff0c;很强。可以借鉴。 这个函数调用的日志函数是不一样的&#xff0c;仔细观看&#xff1a; 这几种日志输出函数&#xff0c;背后都调用了相同的调用。 与之对应的区别就是&#xff0c;函数名称的差异取决于…

小D----海量数据商用短链平台项目大课

从0-1 掌握ClickHouse新一代OLAP数据库。 Kafka接入组件封装Ip获取地理位置信息库使用。 后端工程师角度进阶数据仓库分层大数据领域技术视野 Flinkkafka短链接数据实时计算多维度数据处理。 Async异步关联查询多维度宽表扩展。 Flink多流合并DWS层整合Click House存储。

JDBC【封装工具类、SQL注入问题】

day54 JDBC 封装工具类01 创建配置文件 DBConfig.properties driverNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/qnz01?characterEncodingutf8&serverTimezoneUTC usernameroot passwordroot新建配置文件&#xff0c;不用写后缀名 创建工具类 将变…

北斗/GPS模块输出的NMEA语句详解

NMEA协议采用 ASCII 码来传递 GPS 定位信息&#xff0c;我们称之为帧。 帧格式形如&#xff1a;$aaccc,ddd,ddd,…,ddd*hh(CR)(LF) 1、“$”&#xff1a;帧命令起始位 2、aaccc&#xff1a;地址域&#xff0c;前两位为识别符&#xff08;aa&#xff09;&#xff0c;后三位为…

记一次android打包,因路由规则设置不合理而导致pom文件无法访问的错误

一、错误详情 FAILURE: Build failed with an exception.* What went wrong: Could not determine the dependencies of task :mediaplayer:compileReleaseAidl. > Could not resolve all task dependencies for configuration :mediaplayer:releaseCompileClasspath.> C…

nodejs版本升级12->18

1.把老版本删除&#xff0c;没删除升级没成功。 2.在官网下载新版本。 3.在菜单中输入cmd&#xff0c;一定要用管理员身份运行&#xff0c;切记&#xff0c;不然会出现2503/2502错误。 4.安装即可。

SCI丨5分期刊,JCR一区

SCI&#xff0c;5分&#xff0c;JCR Q1&#xff0c;中科大类3小类2区 1 基于复杂网络与xxx能源汽车节能数值分析 2 基于热能损失优化的xxx与性能管理 3 基于xxxLCA技术的绿色制造工艺优化研究 4 基于xxx入侵检测技术的物联网智能制造监控系统设计 6 基于物联网技术xxx电力系…

跨境电商自养号全攻略:TEMU、Shein、速卖通测评技巧揭秘

TEMU、Shein、速卖通等跨境平台都推出了全托管模式&#xff0c;普通平台讲究排名&#xff0c;销量&#xff0c;流量量&#xff0c;转化率等等。那么全托管为什么需要做测评呢&#xff1f;因为全托管平台讲究的是一个动销率&#xff0c;有的新品上架或许很快就出单&#xff0c;而…