前端三剑客之JavaScript基础入门

目录

▐ 快速认识JavaScript

▐ 基本语法

🔑JS脚本写在哪?

🔑注释

🔑变量如何声明?

🔑数据类型  

🔑运算符

🔑流程控制

▐ 函数

▐ 事件

▐ 计时

▐ HTML_DOM对象 *


 建议学习完HTML和CSS后再来学习JavaScript,没有学习的小伙伴文章末尾有相关链接哦!

 快速认识JavaScript

JavaScript原名叫LiveScript,是由美国网景公司开发的一种前端脚本语言,即不需要编译的语言,像sql,python,html,css,都是直接由某种解释器(引擎)解释执行,也就是逐行从上向下解释执行的。

JavaScript作为前端三剑客之一,其作用是为网页添加格式各样的动态功能,也就是网页的行为

由于网景公司和Sun公司合作,将LiveScript改名为JavaScript,注意JavaScript和Java没有任何联系,一个是前端脚本语言,一个是后端高级语言,不要因为名字相似而混为一谈。

基本语法


🔑JS脚本写在哪?

JavaScript的脚本写在一个<script></script>标签中,如果在代码量很多的情况下可以写在外部js文件中,再在html文件中导入外部js文件即可.

🔖一旦标签导入其他的js文件,<script>标签内部就不能写脚本了 !

🔑注释

 •  JavaScript中的注释分为两种,分别是单行注释  //  和多行注释  /* */ 

单行注释 // 快捷键: Ctrl + /

多行注释 /* */ 快捷键: Ctrl + Shift + /

🔑变量如何声明?

 •  JavaScript属于弱类型语言,即变量是没有类型的,给它什么类型的值就是什么类型.

 •  我们通过关键字var声明一个变量.

			var a = 10;
			var b = "5";
			var c = true;
🔑数据类型  

 •  数值型 number:包含整数和浮点数

 •  字符串型 string:单引号或双引号都可以表示字符串

 •  布尔型 boolean:返回 true / false

 •  undefined类型 :声明了变量但没有赋值

var g;            //此时g就属于undefined类型
alert(typeof(g)); //type()函数用于获取数据类型

 •  Object类型:编译器本身(自带)为我们提供的一些类,如日期类Date

			var date = new Date();
			alert(date.getFullYear);    //获取年
			alter(date.getMonth() + 1); //获取月
			alert(date.getDate);        //获取日

🔑运算符

JavaScript中的运算符和Java中的运算符几乎没有差别,但也有特殊所在!不过大致也可分为:算术运算符、比较运算符、赋值运算符、逻辑运算符、条件运算符。在此我主要给大家详细介绍下不同之处和特殊所在。 

🖇️算数运算符 

🔖特殊点:

' + ' 不仅表示加法运算,也表示字符串的连接.

			var a = 10;
			var b = 5;
			var c = "5";
			var d = "d";
			alert(a+b);// 15 (加法运算)
			alert(a+c);// 105 (连接作用)
			alert(a+d);// 10d (连接作用)

 ' - ' 减法运算中:字符串 - 数值 = 数值.

JavaScript中会把表达式中数字字符尝试类型转换," 5 " —  5

但要注意这里的字符串必须是数字,若不是数字无法类型转换进行运算,返回NaN(not a number)

			var a = 10;
			var b = 5;
			var c = "5";
			var d = "d";
			alert(a-b);// 5 (减法运算)
			alert(a-c);// 5 (减法运算,将数字字符转化为数值)
			alert(a-d);// NaN (Not a Number)

NaN并不是报错,它只是为我们返回了NaN结果,并不是程序错误!


🖇️比较运算符

🔖特殊点:

' === ' 表示全等,在此之前我们很少见到三个等号,它比较的是值和类型,而 ' ==' 只比较值.

			var a = 5;
			var b = 5;
			var c = "5";
			alert(a==c);// true (只比较值)
			alert(a===c);// flase (比较值和类型)

 🖇️赋值运算符

无特殊点


 🖇️逻辑运算符

无特殊点


🖇️条件运算符

 无特殊点


🔑流程控制

JavaScript中的流程控制语法和Java中的相同,例如选择结构中的 if / if else,循序结构中的for循环、while循环...这些基本的语法在这里我就不详细介绍了,用法和Java相同 !


▐ 函数

 在JavaScript中我们使用关键字function 来声明一个函数,具体结构如下:

function 函数名(参数列表){
      函数体
    [return ...] //根据情况选择是否需要返回值
}

 🖇️常用全局函数:

 •  alert(输出内容)  :弹窗显示

 •  parseInt() :把浮点数转为整数 ,把字符串转为整数 (前提是该字符串是数字)

    如果转换内容为字符串只将开头数字部分转换,若字母开头则无法转换

			 var a=6.25;
			 var b= parseInt(a);
			 alert(b);//6
			 
			 var c ="12.5db5a";
			 var d =parseInt(c);//12 (只将开头数字部分转换)
			 alert(d);
			 
			 var e="a123";
			 var f =parseInt(e);
			 alert(e);//a123 (无法转换)

 •  parseFloat() :把整数转为浮点数,语法和parseInt相同

 •  typeof()  :获取变量的数据类型

 •  eval()  :将传入进来的字符串当作js脚本执行

		var res = "2+3*4";
		alert(eval(res));// 14

事件

在JavaScript中,事件指的是在网页上发生的交互动作或状态变化,例如用户点击按钮、输入文本、滚动页面等。通过监听这些事件,可以在特定的情况下执行相应的操作或函数,实现交互和动态效果。


 🖇️常用事件:

 •  onclick :鼠标单击事件

 •  dblclick :鼠标双击事件

 •  onblur :标签失去焦点

 •  onfocus :标签获得焦点

 •  onmouseover :鼠标移到某标签上

 •  onmouseout :鼠标从某标签上移开

 •  onkeydown :用户按下键盘按键

 •  onload :网页加载完毕后触发相应的的事件处理程序

 •  onchange :当前标签失去焦点并且标签的内容发生改变时触发事件处理程序


➩ 在这里给大家简单演示下:

		<script>
			function test(){
				console.log("事件被触发");
			}
		</script>

	<body>
		<!-- onclick鼠标点击事件 -->
		<input type="button" value="单击触发" onclick="test()" />
		<br />
		<!-- onfocus标签获得焦点 -->
		<input type="text" onfocus="test()">
	</body>

📖 在浏览器中右键—检查—打开调试界面—点击控制台

▐ 计时

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

🖇️常用方法

 setTimeout  

 •  用法:setTimeout ( "函数" , "时间" ) 

 •  含义:表示延迟 "指定时间" 后调用 "指定函数" ,且只调用一次.

○ clearTimeout  

 •  用法:clearTimeout ( "number" ) 

 •  含义:关闭setTimeout定时器

这里的参数number是定时器开始时,setTimeout返回的一个整数编号

 setInterval  

 •  用法:setInterval ( "函数" , "时间" ) 

 •  含义:表示每隔 "指定时间" 就调用一次 "指定函数" ,只要不关闭定时器就会一直调用.

 clearInterval  

 •  用法:clearTimeout ( "number" ) 

 •  含义:关闭setInterval定时器

同理,这里的参数number是定时器开始时,setInterva返回的一个整数编号

关于JavaScript中计时的详细介绍请阅读该文章icon-default.png?t=N7T8https://blog.csdn.net/2301_79263365/article/details/139471844?spm=1001.2014.3001.5502

HTML_DOM对象 *

 📖 JS HTML DOM是我们学习JavaScript过程中非常重要的内容,它可以解决:如何在JavaScript中操作网页中的标签? 这个问题。

Dom是document Object Model (文档对象模型) 的缩写.

JavaScript认为网页中的每个标签都是一个对象,在js中把这一类标签对象称为html_dom对象

既然我们要操作网页中的标签,那么第一步肯定是先拿到标签对象,那么第一个问题来了:

如何在js中获得网页中的标签对象?

在网页加载完毕后,在js中生成一个document对象(表示整个html文档)里面提供了一个方法: getElementById()

				//通过标签id获得网页中的标签对象
                var obj1 = document.getElementById("txt1");
				var obj2 = document.getElementById("txt2");

拿到网页中的标签对象后就可以通过dom对象操作标签的属性了(包括css属性).

		<style>
			#box{
				width: 300px;
				height: 300px;
			}
		</style>
		<script>
			function test(){
				var obj = document.getElementById("box");
				obj.style.backgroundColor="blue";				
			}
		</script>
	</head>
	<body>
		<input type="button" onclick="test()" value="蓝色"/>
		<div id="box"></div>
	</body>

除此之外我们还可以操作标签体中的内容:

 innerText 把标签内部值拿到,获得标签体中的文本内容

 innerHtml 获得标签内的所有内容(包括子标签)



推荐文章 :

HTML基本语法icon-default.png?t=N7T8https://blog.csdn.net/2301_79263365/article/details/138354155?spm=1001.2014.3001.5501HTML常用标签icon-default.png?t=N7T8https://blog.csdn.net/2301_79263365/article/details/138555452?spm=1001.2014.3001.5501CSS基本语法icon-default.png?t=N7T8https://blog.csdn.net/2301_79263365/article/details/138368375?spm=1001.2014.3001.5501CSS盒子模型icon-default.png?t=N7T8https://blog.csdn.net/2301_79263365/article/details/138595204?spm=1001.2014.3001.5501CSS浮动icon-default.png?t=N7T8https://blog.csdn.net/2301_79263365/article/details/139303652?spm=1001.2014.3001.5501


🏅本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!🏅如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!🏅有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见 🏅

海漫浩浩,我亦苦作舟!大家一起学习,一起进步!  本人微信:g2279605572 

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

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

相关文章

手把手带你做一个自己的网络调试助手(4) - 优化完善

了解全部信息&#xff0c;请关注专栏: QT网络调试助手_mx_jun的博客-CSDN博客 优化服务器 1.不能设置随拖动变大: this->setLayout(ui->verticalLayout); 2. 未连接就能发送消息: //在处理新连接槽函数中加入 if(!ui->btnSend->isEnabled()){//只有客户端连接…

【CC精品教程】osbg格式三维实景模型全解

数据格式同样都是osgb,不同软件生产的,建模是参数不一样,还是有很大区别的,本讲进行一一讲解。 文章目录 一、CC生产的osbg1. osgb的文件结构2. metadata.xml是什么?​(1)EPSG模式metadata.xml​(2)EPSG带+模式metadata.xml​(3)ENU模式metadata.xml​(4)LOCAl模式…

《大道平渊》· 拾贰 —— 天下大事必作于细:做好每一件小事,必然大有所成!

《平渊》 拾贰 "天下难事必作于易&#xff0c;天下大事必作于细。" 社群一位大佬最近在研究新项目, 他做事的 "方法论" 令我深受启发。 他在测试项目时, 每一步都做的非常细致&#xff1a; 整个项目的测试都被划分为一件件小事, 然后有条不紊地推进…… …

postgresql之翻页优化

列表和翻页是所有应用系统里面必不可少的需求&#xff0c;但是当深度翻页的时候&#xff0c;越深越慢。下面是几种常用方式 准备工作 CREATE UNLOGGED TABLE data (id bigint GENERATED ALWAYS AS IDENTITY,value double precision NOT NULL,created timestamp with time zon…

matlab 异常值检测与处理——Z-score法

目录 一、算法原理1、算法概述2、主要函数3、参考文献二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、算法概述 使用Z分数法,可以找出距离平均值有多少个标准差值…

Java面试八股之静态变量和实例变量的区别有哪些

Java静态变量和实例变量的区别有哪些 存储位置和生命周期&#xff1a; 静态变量&#xff1a;静态变量属于类级别&#xff0c;存储在Java的方法区&#xff08;或称为类区&#xff0c;随JVM实现而异&#xff0c;现代JVM中通常在元数据区内&#xff09;&#xff0c;并且在类首次…

天锐绿盾,怎么防止公司内部核心文件、文档、设计图纸、源代码、音视频等数据资料外泄

天锐绿盾通过多种技术和管理手段&#xff0c;全面保护公司内部的核心文件、文档、设计图纸、源代码、音视频等数据资料&#xff0c;防止外泄。以下是具体的防泄密措施&#xff1a; PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5d…

【技术干货】Linux命令“du-sh和df”执行结果存在差异,问题分析及处理过程

1.du-sh和df的差异 du和df是两个不同的Linux命令&#xff0c;它们⽤于查看磁盘空间的使⽤情况。但是它们有⼀些区别&#xff1a; • du&#xff08;diskusage&#xff09;会扫描每个⽂件和⽬录&#xff0c;并计算它们的总⼤⼩。[1]du-sh*会显⽰当前⽬录下每个⽂件或⽬录的⼤⼩…

APD系列特高频局放监测装置

安科瑞电气股份有限公司 祁洁 15000363176 一、产品概述 现阶段&#xff0c;电力系统对于电能的质量提出越来越高的要求&#xff0c;不仅要确保供电稳定可靠&#xff0c;而且供电的安全性也是重要要求。电力系统中&#xff0c;金属封闭开关设备得到广泛应用&#xff0c;因…

基于springboot实现影院订票系统项目【项目源码+论文说明】

基于springboot实现影院订票系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本影院订票系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在…

安卓手机电脑同步数据,2个方法,有效避免数据膨胀

如今&#xff0c;我们的手机已经成为了数字生活的中心舞台&#xff0c;而电脑则是我们工作和娱乐的得力助手。两者之间的数据同步&#xff0c;就像是搭建了一座无形的桥梁&#xff0c;让我们的生活和工作变得更加便捷和高效。如何高效进行手机电脑同步数据呢&#xff1f;在这篇…

第十三章 组合模式

目录 1 组合模式介绍 2 组合模式原理 3 组合模式实现 4 组合模式应用实例 5 组合模式总结 1 组合模式介绍 组合模式(Composite Pattern) 的定义是&#xff1a;将对象组合成树形结构以表示整个部分的层次结构.组合模式可以让用户统一对待单个对象和对象的组合. 2 组合模式…

【C++题解】1457 - 子数整除

问题&#xff1a;1457 - 子数整除 类型&#xff1a;循环应用 题目描述&#xff1a; 于一个五位数 abcde &#xff0c;可将其拆分为三个子数&#xff1a; sub1abc sub2bcd sub3cde 例如&#xff0c;五位数20207 可以拆分成sub1202 sub2020 (也就是 20) sub3207 现在给定一个正…

中文词云MATLAB

wordcloud Create word cloud chart from text, bag-of-words model, bag-of-n-grams model, or LDA model name{1} {数字图像处理}; name{2} {禹晶 肖创柏 廖庆敏}; name{3} {1 绪论,2 数字图像基础,3 空域图像增强,4 频域图像增强,7 图像压缩编码,9 二值图像形态学,8 图像…

k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例

文章目录 前言应用环境1.VPA应用案例 updateMode: "Off"&#xff08;1&#xff09;创建应用实例&#xff08;2&#xff09;创建vpa 2.VPA应用案例 updateMode: "Auto"&#xff08;1&#xff09;创建应用 &#xff08;2&#xff09;创建vpa&#xff08;3&am…

护眼台灯哪个品牌好?几款性价比最高的护眼台灯推荐

在过去&#xff0c;科技尚未发展至如今这般先进水平时&#xff0c;晚上需要照明的时候&#xff0c;我们通常只能依赖白炽灯。尽管白炽灯以其低成本和接近自然光的显色性获得了一定的青睐&#xff0c;随着时代的发展&#xff0c;现在市面上出现了更为护眼的选择——LED台灯。然而…

VMware导入vmdk文件(亲测有效)

场景&#xff1a;从别的地方拷贝了一个系统镜像&#xff0c;实际测试案例是从vulnhub下载的Kioptix Level #4靶场解压缩以后的文件是【Kioptrix4_vmware.vmdk】后缀为名为vmdx,使用常规的方式【文件-----打开】的方式&#xff0c;不能导入虚拟机&#xff0c;现在演示如何导入到…

intel新CPU性能提升68%!却在内存上违反祖训

前几天的台北电脑展「Computex」&#xff0c;各家都拿出了看家本领。 老朋友 AMD 在会展上发布了最新的锐龙 9000 系列和自己家移动处理器 HX AI 系列&#xff0c;IPC 和能效都取得了不错的进步。 当然隔壁蓝厂 intel 也没闲着&#xff0c;当即就掏出了下一代的低功耗移动端处…

【SQL边干边学系列】05高级问题

文章目录 前言回顾高级问题32.高价值客户33.高价值的客户-总订单数34.高价值的客户-带有折扣35.月末订单36.具有许多详细信息行的订单 答案32.高价值客户33.高价值的客户-总订单数34.高价值的客户-带有折扣35.月末订单36.具有许多详细信息行的订单 未完待续 前言 该系列教程&am…

GaussDB技术解读——GaussDB架构介绍(二)

上篇图文&#xff0c;从GaussDB关键架构目标、GaussDB分布式架构、数据计算路由层&#xff08;Coordinator&#xff09;关键技术方案等三方面对GaussDB架构进行了介绍。本篇将从数据持久化存取层(DataNode)关键技术方案、全局事务管理层&#xff08;GTM&#xff09;关键技术方案…