JavaScript概述三(循环结构+BOM浏览器对象模型+JSON对象)

news2024/12/23 5:46:12

1.循环结构

1.1 普通循环(for循环,while循环,do……while循环)

JavaScript中的普通循环和Java中的普通循环基本类似,此处以for循环为例,while和do……while便不再赘述。

		<script type="text/javascript">
			var ary1=new Array(1,false,'嘿嘿');
			for (i=0;i<ary1.length;i++) {
				console.log(ary1[i])
			}

1.2 for……in循环 

用来遍历对象的属性和数组(数组的索引就是数组的属性) 

		<script type="text/javascript">
			var ary1=new Array(1,false,'嘿嘿');
			//增添一个属性
			ary1.score=100;
			for (index in ary1){
				//index是属性名,在数组里面下标也是属性名
				console.log(index,ary1[index])
			}
		</script>

1.3 for ……of循环

注意:不会将新增的属性迭代出来

			var ary1=new Array(1,false,'嘿嘿');
			//增添一个属性
			ary1.score=100;
			for(index of ary1){
				console.log(index);
			}

最终的结果中没有新增的属性score。 

1.4 forEach属性

 格式:循环目标.forEach(函数(属性值,属性名,循环目标));

			var ary1=new Array(1,false,'嘿嘿');
			//增添一个属性
			ary1.score=100;
			ary1.forEach(function(value,key,ary1){
				console.log(key+":"+value)
			});
		</script>

2.BOM(浏览器对象模型)

和浏览器窗口做交互的一些对象,他的核心对象是window,BOM是由一系列对象组 成,每个对象都提供了一些属性和方法。
如:window.alert(),window.confirm(),window.prompt()……

2.1 窗口加载事件load

当文档内容加载完成以后才会触发该事件,执行事件函数里面的业务, 在生产环境中,能够大大提高浏览器的体验效果。
如果有多个 onload 怎么办 : 以最后一个为准 !
其他的事件,如window.onclick()鼠标点击;window.onblur()鼠标丢失……

2.2 计时器

2.2.1 window.setTimeout(调用函数,延迟的毫秒数)

		<script type="text/javascript">
			setTimeout(function(){
        //window是全局内置对象,可以省略
				window.alert("延迟3秒才会弹出警告");
			},3000);

		</script>

 2.2.2 window.clearTimeout(定时器的标识)

		<script type="text/javascript">
			//定时器1的标识
			var name1= setTimeout(function(){
				window.alert("延迟3秒才会弹出警告");
			},3000);//表示3秒后会执行function函数的业务代码
			//定时器2的标识
			 var name2=setTimeout(function(){
				clearTimeout(name1)
			},1000);//定时器2会在定时器1延迟1秒后清除定时器1
			console.log(name1+"--"+name2)
		</script>

2.2.3 window.setInterval(调用函数,间隔的毫秒数)

2.2.4 window.clearInterval(定时器的标识);

			var seconds;
			var name1=setInterval(function(){
				var date=new Date();//获得当前的时间
				seconds=date.getSeconds();//获得当前的秒数
				console.log("当前是:"+seconds+"秒")
				if(seconds>30){
					clearInterval(name1);//满足条件就清除定时器1
				}
			},1000);

从打印的结果可以看出,当时间是31秒时,停止打印,即定时器1被清除。 

2.3 location

location 对象的属性
返回值
location.href获取或者设置URL
location.host返回域名
location.port返回端口号
location.reload()刷新页面
location.pathname返回路径
			console.log("url地址:"+location.href);
			console.log("域名:"+location.host);
			console.log("端口号:"+location.port);
			console.log("参数:"+location.search);

 

 这些是中文字符的utf-8的编码格式。

2.4 history

2.4.1 history.back();网页回退

2.4.2 history.forward();网页前进

2.4.3 history.go(num);num>0,表示前进num个网页;num<0,表示回退num个网页。

3.JSON对象

JSON是javascript里面的内置对象,主要用于各种语言的数据交互,本质是一个字符串 。
var obj={'name':'新垣结衣','age':22};
//如何将obj传给java?
java是不能直接识别的,http请求传递过去的是一个字符串
//1.需要将json对象转为 js字符串
let str=JSON.stringify(obj);
//2.同理可以把后台java传递过来的字符串转为js对象
//传过来
let obj2 = JSON . parse ( str );
console . log ( obj2 );
		<script type="text/javascript">
			var obj1={'name':'新垣结衣','age':22};
			console.log(obj1);
			console.log((typeof obj1));
			//将json对象转换为字符串
			var obj2=JSON.stringify(obj1);
			console.log(obj2);
			console.log((typeof obj2));
			//将字符串转为JSON对象
			var obj3=JSON.parse(obj2);
			console.log(obj3);
			console.log((typeof obj3));
			
		</script>

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

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

相关文章

Redis队列Stream、Redis多线程详解(三)

Redis中的线程和IO模型 什么是Reactor模式 &#xff1f; “反应”器名字中”反应“的由来&#xff1a; “反应”即“倒置”&#xff0c;“控制逆转”,具体事件处理程序不调用反应器&#xff0c;而向反应器注册一个事件处理器&#xff0c;表示自己对某些事件感兴趣&#xff0…

CTA进网测试《5G消息 终端测试方法》标准依据:YDT 3958-2021

GB 21288-2022 强制国标要求变化​ 与GB 21288-2007相比&#xff0c; 新国标主要有以下变化&#xff1a; 1. 增加职业暴露定义&#xff1a; 2. 增加吸收功率密度定义&#xff1a; 3. 增加不同频率、不同人体部位适用的暴露限值&#xff1a; 4. 增加产品说明书的注释&#xff1a…

ArcGIS Pro用户界面

目录 1 功能区 1.1 快速访问工具栏 1.2 自定义快速访问工具栏 1.3 自定义功能区选项 1.3.1 添加组和命令 1.3.2 添加新选项卡 2 视图 3 用户界面排列 ​编辑 4 窗格 4.1 内容窗格 4.2 目录窗格 4.3 目录视图&#xff08;类似ArcCatalog&#xff09; 4.4 浏览对话框…

注册表取证

目录 操作系统安装时间 计算机名称 本地用户 最后登录的用户 当前登录用户 U盘序列号 USB挂载的盘符 卷标名称 安装的程序 ​编辑卸载的程序 最近使用的文件 最近运行的命令行 操作系统安装时间 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion…

无需代码!新人可操作!分享20个可视化大屏(内附下载)

做前端开发的各位&#xff0c;大都知晓老板钟爱的可视化大屏—清晰、便捷、撑排面&#xff0c;轻轻松松打破数据孤岛等一系列问题。我真的深有体会&#xff0c;前些天&#xff0c;老板去人家公司开会&#xff0c;回来就把这大屏安排上了。之前就认为大屏也不过是面子工程&#…

03 - 大学生如何使用GPT

大学生如何使用GPT提高学习效率 一、引言 在当今的高速发展的信息时代&#xff0c;大学生面临着越来越多的学习挑战。作为一种先进的人工智能技术&#xff0c;GPT为大学生提供了一种强大的学习工具。本文将介绍大学生在不同场景中如何使用GPT来提高学习效率&#xff0c;并给出…

「区间DP-步入」凸多边形的划分

凸多边形的划分 题目描述 给定一个具有N个顶点的凸多边形&#xff0c;将顶点从1至N标号&#xff0c;每个顶点的权值都是一个正整数。将这个凸多边形划分成N-2个互不相交的三角形&#xff0c;试求这些三角形顶点的权值乘积和至少为多少。 输入描述 输入第一行为顶点数N第二行…

云智慧陆兴海:统一运维体系为数字政府建设保驾护航

2023年4月6日至7日&#xff0c;由长春市人民政府、吉林省政务服务和数字化建设管理局主办的《2023长春数字经济发展论坛》在长春隆重举行。 本次论坛旨在探讨数字经济的理论创新、实践探索和发展路径&#xff0c;推动长春市乃至吉林省的数字化转型和高质量发展。第十二届全国政…

无源滤波器为什么能滤波?

滤波器能够滤波的本质是利用构造特定的阻抗特性引起反射和损耗来实现对频率的选择。 如果从能量守恒的角度来讲&#xff0c;被抑制掉的信号去哪里了&#xff1f;​ 我们先看一下基本电路原理&#xff0c;上图中&#xff0c;负载接收的功率为 我们知道&#xff0c;最大功率传输…

ChatGPT: 从GPT-3.5到GPT-4,探索语言模型的演进之路

ChatGPT: 从GPT-3.5到GPT-4&#xff0c;探索语言模型的演进之路 引言 人工智能语言模型的演进 随着人工智能的快速发展&#xff0c;语言模型作为自然语言处理领域的一项重要技术也在不断演进。从最初的基于规则的系统&#xff0c;到基于统计的模型&#xff0c;再到近年来的深度…

【Scala入门】scala基础语法:to和until,if-else和for循环,while循环

目录&#xff1a; 【Scala入门】Scala下载及安装&#xff08;Windows&#xff09;以及Idea创建第一个scala项目_水w的博客-CSDN博客 【Scala入门】scala基础语法&#xff1a;类和对象&#xff0c;变量和常量_水w的博客-CSDN博客 目录 2.4 数据类型 2.5 to和until&#xff0c;…

破防了,这才是机房运维的高效方法

在云计算、5G等新业务野蛮生长的催化下&#xff0c;机房规模与容量也呈倍速扩张。机房安全是业务发展的底座。提升机房设备安全和管理效率&#xff0c;避免人为因素导致的事故发生&#xff0c;是机房运维的必要前提。 安全生产重于泰山&#xff0c;除了日常的科学防护&#xf…

C++函数适配器和函数包装器:让你的函数更灵活

&#x1f4d6;作者介绍&#xff1a;22级树莓人&#xff08;计算机专业&#xff09;&#xff0c;热爱编程&#xff1c;目前在c&#xff0b;&#xff0b;阶段>——目标Windows&#xff0c;MySQL&#xff0c;Qt&#xff0c;数据结构与算法&#xff0c;Linux&#xff0c;多线程&…

机器学习——K-Means算法优化(一)代价函数

机器学习——K-Means算法优化&#xff08;一&#xff09;代价函数 文章目录 机器学习——K-Means算法优化&#xff08;一&#xff09;代价函数一、K-Means算法&#xff08;代价函数&#xff09;二、代码部分 在K-Means算法中&#xff0c;对K个质心的选择&#xff0c;容易陷入局…

Java基础之字节流

文章目录 一、字节输入流1.1 字节输入流读取单个字节1.2 字节输入流一个字节一个字节读取数据1.3 字节输入流一个字节数组一个字节数组读取数据 二、字节输入流读出数据乱码问题三、字节输出流3.1 一次向指定文本写入一个字节数据3.2 一次向指定文本写入一个字节数组数据3.3 一…

CentOS7---基于 CentOS 7 构建 LVS-DR 群集

一、对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 NAT模式(地址转换) 原理&#xff1a;就是把客户端发来的数据包的IP头的目的地址&#xff0c;在负载均衡器上换成其中一台RS的IP地址 并发至此RS来处理&#xff0c;RS处理完后把数据交给负载均衡器…

LeetCode热题HOT100:单词拆分、环形链表 II、LRU 缓存

LeetCode热题HOT100 139. 单词拆分 题目&#xff1a;给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xf…

[前端基础]Node.js简单操作,手把手教你搭建一个轻量级应答服务器(会继续补充操作细节,欢迎讨论)

注意:前置知识:回调函数,异步,ajax技术,端口 目录 1.什么是node.js 2.模块的概念 3. 回调函数 4.关于文件的管理 5.关于流的操作 6.关于构建服务器:前端部分,如何向后端发送请求 7.后端创建简单的服务器对象 8.后端如何处理请求 9.前端如何处理返回的数据 10.简易应答…

STL标准模板库 vector容器与迭代器入门

STL五大件 标准模板库vector容器&#xff1a;vector 声明初始化vector 容器 &#xff1a;push_backvector 容器 &#xff1a;push_back的问题vector容器&#xff1a;push_back的问题&#xff0c;reserve解决 vector容器&#xff1a;insert函数vector容器&#xff1a;insert函数…

【从零开始玩量化17】如何python+QMT完成自动化交易?(全网最详细入门教程)

一、什么是QMT 此部分为扫盲内容&#xff0c;有一定了解者可以跳过。 概念 它是一款量化交易客户端软件&#xff0c;由一家叫做迅投公司出品&#xff0c;可以直接登录你的券商账号进行股票交易&#xff0c;但与同花顺/通信达不同的是&#xff0c;它暴露了基于python的交易API&…