Day48 Javascript详解

news2024/10/5 17:58:54

Day48 Javascript详解

文章目录

  • Day48 Javascript详解
    • 一、什么是javascript
    • 二、javascript特点
    • 三、 Javascript的历史
    • 四、Javascript vs Java
    • 五、JS的基本数据类型
    • 六、JS基本数据类型的特殊点
    • 七、数组

一、什么是javascript

JavaScript是一种高级的、解释型的编程语言,主要用于在网页上实现交互功能。它是一种脚本语言,可以嵌入到HTML页面中,通过浏览器解释执行,实现动态效果和用户交互。

Javascript是基于对象和事件驱动的脚本语言,主要是嵌入到HTML中,应用在客户端,动态操作网页元素,也可以作用于服务端。

二、javascript特点

  • 动态性:JavaScript是一种动态语言,可以在运行时修改和调整程序的行为。
  • 事件驱动:通过事件处理程序来响应用户的交互操作,实现网页的动态效果。
  • 跨平台性:JavaScript可以在各种操作系统和浏览器中运行,实现跨平台的网页开发。
  • 交互性:表单校验,信息提示,动态数据图表,ajax异步提交,解析服务端响应数据等等。
  • 安全性:不可以直接访问本地硬盘。
  • 轻量级:JavaScript代码通常是以文本形式嵌入到HTML中,不需要额外的编译步骤,使得开发和调试更加便捷。

三、 Javascript的历史

  1. 1995年:JavaScript最初由Netscape公司的Brendan Eich设计开发,最初被称为LiveScript。在Netscape Navigator 2.0中首次发布,用于增强网页的交互性和动态效果。
  2. 1996年:Netscape将LiveScript更名为JavaScript,与Sun Microsystems的Java合作,推动JavaScript的发展。微软也推出了类似的脚本语言JScript。
  3. 1997年:ECMAScript标准化组织发布了第一版ECMAScript标准(ECMA-262),以规范JavaScript语言的实现。这一标准定义了JavaScript的核心语法和功能。
  4. 2000年:DOM(Document Object Model)标准化,使JavaScript可以操作网页上的元素和内容,实现动态页面效果。
  5. 2005年:Ajax(Asynchronous JavaScript and XML)的概念被提出,使得通过JavaScript异步加载数据成为可能,极大地提升了网页的交互性和用户体验。
  6. 2009年:Node.js项目启动,使JavaScript不仅可以在浏览器中运行,还可以在服务器端运行,开启了JavaScript全栈开发的时代。
  7. 2015年:ECMAScript 6(ES6)发布,引入了许多新的语法和特性,如箭头函数、模块化、类等,大大提升了JavaScript的开发效率和可维护性。
  8. 至今:JavaScript持续发展,成为最流行的前端开发语言之一,涵盖了前端开发、后端开发、移动应用开发等多个领域,拥有庞大的开发者社区和丰富的生态系统。

四、Javascript vs Java

JavaScript只需浏览器解析就可以执行,而java需要先编译成字节码文件,然后通过JVM来执行。

JavaScript是一种弱类型语言,java是强类型语言。

一个完整 JavaScript实现由以下3个部分组成

在这里插入图片描述

DOM – Document Object Model

BOM – Browser Object Model

五、JS的基本数据类型

1、分类:

  • boolean - 布尔类型
  • undefined - 未定义类型
  • null - 空类型
  • number - 数值型
  • string - 字符串类型

在这里插入图片描述

2、代码示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			
			//number - 数值型
			//注意:number类型不分整数和小数
			var num = 100;
			console.log(num);//100
			num = 123.123;
			console.log(num);//123.123
			
			//string - 字符串类型
			//注意:string类型的值可以用单引号也可以用双引号括起来
			var str = 'abc';
			console.log(str);
			str = "abc";
			console.log(str);
			
			//boolean - 布尔类型
			var bool = true;
			console.log(bool);//true
			bool = false;
			console.log(bool);//false
			
			//undefined - 未定义类型
			var v;
			console.log(v);
			v = undefined;
			console.log(v);
			
			//null - 空类型
			var xx = null;
			console.log(xx);
			
			
		</script>
	</body>
</html>

六、JS基本数据类型的特殊点

1、特殊点:

  1. 字符串(String)
    • 字符串是以单引号(’ ')或双引号(" ")包裹的文本数据。
    • 字符串是不可变的,一旦创建就不能被修改,任何对字符串的操作都会返回一个新的字符串。
  2. 数字(Number)
    • JavaScript中的数字是浮点数,没有整型和浮点型之分。
    • 存在特殊的数字值,如NaN(Not a Number)、Infinity(无穷大)和 -Infinity(负无穷大)。
  3. 布尔值(Boolean)
    • 布尔值只有两个取值:true和false。
    • 布尔值常用于条件判断和逻辑运算。
  4. 空(Null)
    • 表示一个空值或不存在的值。
    • typeof null 的结果是 “object”,这是 JavaScript 的一个历史 Bug。
  5. 未定义(Undefined)
    • 表示未赋值的变量或属性。
    • 未定义的变量会有一个默认值 undefined。
  6. 符号(Symbol)
    • ES6新增的数据类型,表示独一无二的值。
    • 可以用来创建对象的私有属性名。

2、代码示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			//number类型的特殊点
			//注意:Infinity表示无穷大
			console.log(Infinity + (-Infinity));//NaN - Not a Number
			
			//string类型的特殊点
			//注意:string加号是字符串拼接符,其余是算数运算符
			var str1 = "10";
			var str2 = "3";
			console.log(str1 + str2);//103
			console.log(str1 - str2);//7
			console.log(str1 * str2);//30
			console.log(str1 / str2);//3.3333333335
			console.log(str1 % str2);//1
			
			//boolean类型的特殊点
			//注意:""、0、undefined、null表示false
			if(""){
				console.log("true");
			}else{
				console.log("false");
			}
			
			if(0){
				console.log("true");
			}else{
				console.log("false");
			}
			
			if(undefined){
				console.log("true");
			}else{
				console.log("false");
			}
			
			if(null){
				console.log("true");
			}else{
				console.log("false");
			}
			
			//undefined vs null
			var v1 = undefined;
			var v2 = null;
			console.log(typeof v1);//undefined
			console.log(typeof v2);//object
			
			//== vs ===
			//==判断两个值是否相等
			//===判断两个值+类型是否相等
			var v3 = 10;
			var v4 = "10";
			console.log(v3 == v4);//true
			console.log(v3 === v4);//false
		</script>
		
	</body>
</html>

七、数组

1、基本步骤:

  1. 创建一个数组
  2. var arr = [1,2,3];
  3. 更新数组的元素
  4. 添加数组的元素
  5. 删除数组的元素(delete arr[1],注意,此处只是将该元素留空,数组的长度并不会发生变化)

注意:数组的数组:var a = [[1,2,3],[4,5,6]];

2、代码示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			var arr = ["小俊","小杨","小雷"];
			
			//设置指定下标上的元素
			arr[0] = "小刘";
			
			//获取指定下标上的元素
			console.log("获取指定下标上的元素:" + arr[0]);//小刘
			
			//获取元素个数
			console.log("获取元素个数:" + arr.length);
			
			//添加元素
			arr[3] = "小陈";
			arr[4] = "小李";
			arr[10] = "小王";
			
			//删除元素
			delete arr[4];
			
			console.log("--------------------");
			
			//遍历数组 - for循环
			for(var i = 0;i<arr.length;i++){
				console.log(arr[i]);
			}
			
			console.log("--------------------");
			
			//遍历数组 -- for-in
			//注意:遍历有效元素的下标(undefined的元素认为是无效元素)
			for(var index in arr){
				console.log(arr[index]);
			}
			
		</script>
		
	</body>
</html>

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

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

相关文章

automa:循环元素的一个示例,取TME结合插件实现自动下载音乐。

因为tme没提供批量下载音乐的功能。我找到了一个插件可以下载。但需要点击播放时&#xff0c;才能感 知。 我原来用python写了一个&#xff0c;能实现&#xff0c;这想把他移植到automa上&#xff0c;同时想使用循环元素的方法&#xff0c;避免不必要的时间浪费。 开始。首先…

揭秘:水滴式粉碎机为何如此受欢迎

在粉碎机市场中&#xff0c;水滴式粉碎机以其D特的设计和G效的性能脱颖而出&#xff0c;成为众多用户的选择产品。那么&#xff0c;水滴式粉碎机究竟有何魅力&#xff0c;能够赢得如此广泛的赞誉呢&#xff1f; 首先&#xff0c;水滴式粉碎机的G效性能是其受欢迎的关键因素之一…

那些网络安全上的事实,很多人不见得知道!

明月发现不少小白对网络安全的认知几乎为零&#xff0c;甚至明月还碰到一个说 VPN 能彻底隐匿自己的&#xff0c;至于现在这帮动不动就利用 DDos/CC 攻击被人网站来推销境外高防服务器、高防 CDN 的老鼠屎们更是网络安全知识白痴的水平&#xff0c;破坏和攻击的水平完全取决于能…

阿里云oss存储直传回调服务的内网穿透

阿里云oss存储直传回调服务的内网穿透 前提 为什么在使用阿里云的oos直传的时候要使用内网穿透呢&#xff1f; 因为阿里云在使用回到服务的时候&#xff0c;要求访问的必须是外网&#xff0c;而我们的本地IPv4只是内网&#xff0c;无法被回调&#xff0c;所以我们需要使用内网…

【0007day】总体标准差、样本标准差和无偏估计

文章目录 总体标准差和样本标准差无偏估计无偏性与无偏估计量 总体标准差和样本标准差 一些表示上的差别。 总体标准差 样本标准差 两者的区别 样本方差为什么除以n-1? 这主要是由于样本的方差会低估总体的方差&#xff08;抽样的过程中&#xff0c;按照概率来说&#xff0…

融资融券利率4.0%!融资融券保证金比例和余额

融资融券利率最低是4.0%~5.0%&#xff0c;这是目前市场最低的利率水平&#xff0c;股票佣金万一。 各家券商的利率差异是较大的&#xff0c;现在无门槛利率是5%&#xff0c;根据投资者的资金量大小在4.0%~5%之间浮动&#xff0c;具体需要通过对应证券经理协商办理&#xff01;…

极空间部署本地最强私有化PDF工具箱『Stirling-PDF』

极空间部署本地最强私有化PDF工具箱『Stirling-PDF』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 关注我的粉丝应该知道&#xff0c;我在前几天教大家怎么在NAS上部署本地最强私有化PDF工具箱『Stirling-PDF』&#xff1a; &#x1f53a;评论区好几位小伙伴都提到了极空间的部署…

当面试官问出“Unsafe”类时,我就知道这场面试废了,祖坟都能给你问出来!

一、写在开头 依稀记得多年以前的一场面试中&#xff0c;面试官从Java并发编程问到了锁&#xff0c;从锁问到了原子性&#xff0c;从原子性问到了Atomic类库&#xff08;对着JUC包进行了刨根问底&#xff09;&#xff0c;从Atomic问到了CAS算法&#xff0c;紧接着又有追问到了…

Github 2024-05-25 Rust开源项目日报Top10

根据Github Trendings的统计,今日(2024-05-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Svelte项目1TypeScript项目1Python项目1Go项目1Dart项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust…

基于地理坐标的高阶几何编辑工具算法(1)——目录

文章目录 背景目录效果相交面裁剪相离面吸附线分割面合并相交面合并相离面矩形绘制整形面 背景 在实际的地图编辑平台中&#xff0c;有一些场景是需要对几何面做修形操作&#xff0c;低效的做法是通过新增形点拖拽来实现。为了提高面几何的编辑效率&#xff0c;需要提供一些便…

社区医院|基于SprinBoot+vue的社区医院管理服务系统(源码+数据库+文档)

社区医院管理服务系统 目录 基于SprinBootvue的社区医院管理服务系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 4医生功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取…

XSS漏洞:pikachu靶场中的XSS通关

目录 1、反射型XSS&#xff08;get&#xff09; 2、反射性XSS&#xff08;POST&#xff09; 3、存储型XSS 4、DOM型XSS 5、DOM型XSS-X 6、XSS之盲打 7、XSS之过滤 8、XSS之htmlspecialchars 9、XSS之href输出 10、XSS之js输出 最近在学习XSS漏洞&#xff0c;这里使用…

文件上传安全指南:保护免受不受限制的文件上传攻击

文件上传安全指南&#xff1a;保护免受不受限制的文件上传攻击 在现代应用程序中&#xff0c;文件上传功能是一个常见且重要的部分。然而&#xff0c;这也为攻击者提供了潜在的攻击向量&#xff0c;尤其是不受限制的文件上传攻击。本文将详细介绍如何通过一系列安全措施来保护…

【C语言】指针(三)

目录 一、字符指针 1.1 ❥ 使用场景 1.2 ❥ 有关字符串笔试题 二、数组指针 2.1 ❥ 数组指针变量 2.2 ❥ 数组指针类型 2.3 ❥ 数组指针的初始化 三、数组指针的使用 3.1 ❥ 二维数组和数组名的理解 3.2 ❥ 二维数组传参 四、函数指针 4.1 ❥ 函数的地址 4.2 ❥ 函数…

3D瓦片地图组件上线|提供DEM数据接入,全方位呈现三维地图地形!

在用户调研中&#xff0c;我们了解到很多用户自身的可视化项目&#xff0c;需要在垂直空间上表现一些业务&#xff0c;例如&#xff1a;3D地形效果&#xff0c;数据底板建设等&#xff0c;而传统的地图效果不满足此用户需求。瓦片地图能够无限加载大地图&#xff0c;以更三维的…

【免费Web系列】大家好 ,今天是Web课程的第六天点赞收藏关注,持续更新作品 !

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 后端Web实战(IOCDI) 前言 Web开发的基础知识 &#xff0c;包括 Tomcat、Servlet、HTTP协议等&#xff0c;我们都已经学习完毕了&#xff0c;那接下来&#xff0c;我们就要进入Web开发的实战篇。在实战篇中…

正在直播:Microsoft Copilot Studio 新增支持Copilot代理、Copilot扩展等多项功能

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

如何在go语言中调用c语言代码

1.安装c语言编译器 要使用cgo&#xff0c;需要安装c语言编译器 gcc 2.检查CGO_ENABLED时候开启 使用以下命令查看&#xff1a; go env CGO_ENABLED 如果go env CGO_ENABLED被禁用(为0),需要将其设置为开启(为1) 3.编写c语言程序&#xff0c;并用go语言调用c语言程序 1&#xff…

机器学习之支持向量机SVM

支持向量机 概念 是supported vector machine&#xff08;支持向量机&#xff09;&#xff0c;即寻找一个超平面使样本分成两类&#xff0c;且间隔最大分类 分类 硬间隔 若样本线性可分&#xff0c;且所有样本分类正确情况下&#xff0c;寻找最大间隔&#xff0c;即硬间隔 若…

数据库缓存 buffer pool详解

什么是buffer pool buffer pool, 又称之缓存池, 是mysql中为了提升查询性能而引入的缓存, 如果每次查询和修改都去操作磁盘的话, 性能就会很差, 从而引入 Buffer Pool包含多个缓冲页&#xff08;默认大小通常为16KB&#xff09;&#xff0c;每个缓冲页都有对应的控制信息&#…