前端三剑客之JavaScript基础入门

news2024/11/20 18:28:42

目录

▐ 快速认识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 

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

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

相关文章

C++:SLT容器-->queue

C:SLT容器-->queue 1. queue容器2. queue 常用接口 1. queue容器 先进先出队列允许从一端插入元素&#xff0c;从另一端删除元素队列中只有队头和队尾可以被外界使用&#xff0c;因此队列不允许有遍历行为队列中插入数据称为入队(push)&#xff0c;删除数据称为出队(pop) …

苹果AI来了,ios18史诗级发布

今天凌晨1点&#xff0c;苹果举行了WWDC开发者大会&#xff0c;正式发布了 全新iOS 18、iPadOS 18、watchOS 11、tvOS 18、macOS 等以及Apple Intelligence的个人化智能系统 苏音给大家汇总下&#xff0c;ios18的更新内容以及苹果的AI。 本次更新&#xff0c;官方带来的title…

FL Studio21永久免费破解中文版下载,让我这个音乐制作爱好者如获至宝!

FL Studio21永久免费破解中文版下载&#xff0c;让我这个音乐制作爱好者如获至宝&#xff01;&#x1f3b6; 这款软件功能强大&#xff0c;操作简单易上手。我可以轻松地创作出各种风格的音乐作品。无论是流行、摇滚还是电子音乐&#xff0c;都能轻松驾驭。&#x1f3a7; 使用F…

16.左侧导航菜单制作

左侧导航菜单制作 1. 修改路由&#xff0c;方便查看页面 index.ts import { RouteRecordRaw, createRouter, createWebHistory } from "vue-router"; import Layout from /layout/Index.vueconst routes: Array<RouteRecordRaw> [{path: /,name: home,comp…

【牛客面试必刷TOP101】Day31.BM60 括号生成和BM61 矩阵最长递增路径

文章目录 前言一、BM60 括号生成题目描述题目解析二、BM61 矩阵最长递增路径题目描述题目解析总结 前言 一、BM60 括号生成 题目描述 描述&#xff1a; 给出n对括号&#xff0c;请编写一个函数来生成所有的由n对括号组成的合法组合。 例如&#xff0c;给出n3&#xff0c;解集为…

Python办公MySQL(一):安装MySQL以及Navicat可视化工具(附送Navicat到期解决方法)

目录 专栏导读1、下载 MySQL Community Server2、安装3、安装Navicat4、连接刚刚安装的MySQL5、创建一个数据库方法1方法2 6、创建一张表方法1&#xff1a;准备一个test文件方法2&#xff1a; Navicat到期解决总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Pytho…

玩转ChatGPT:最全学术论文提示词分享【下】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 本篇文章&#xff0c;是系列文章「最全学术论文提示词」的完结篇。前两篇的内容请到文末链接处跳转&#x1f447;&#x1f3fb; 11.提交和发布 prompt 1&#xff1a;根据[期刊/会议]指…

【GreenHills】关于GHS加密狗license激活成功后打开软件提示无可用授权

【更多软件使用问题请点击亿道电子官方网站】 1、 问题场景 用于解决在使用加密狗license去激活旧版本的GHS的时候&#xff0c;激活页面显示激活成功&#xff0c;但是&#xff0c;打开软件显示无可用license&#xff08;如图2-1&#xff09;&#xff0c;重新激活现象还是一样的…

SpringBoot高手之路jdk动态代理

文章目录 JDK动态代理基于jdk的动态代理Aop底层就是基于动态代理实现的实现代码先写代理对象工具 JDK动态代理 基于jdk的动态代理 业务需求 通过动态代理技术,对service层的方法统计执行时间–创建代理对象 Aop底层就是基于动态代理实现的 jdk动态代理技术是基于接口做的代理…

LNMP配置

文章目录 一、相关概念CGI的由来FastCGIPHP-FPM 二、编译安装编译安装nginxyum安装mysql编译安装php配置nginx支持php解析增加数据库安装论坛 一、相关概念 CGI的由来 最早的Web服务器只能简单地响应浏览器发来的HTTP请求&#xff0c;并将存储在服务器上的HTML文件返回给浏览器…

「动态规划」如何求粉刷房子的最少花费?

LCR 091. 粉刷房子https://leetcode.cn/problems/JEj789/description/ 假如有一排房子&#xff0c;共n个&#xff0c;每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种&#xff0c;你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然&#xff0c;因为市…

手把手教你通过 tensorflow-2.10 使用 BERT 实现 Semantic Similarity

前言 本文详细解释了在 tensorflow-gpu 基础上&#xff0c;实现用 BERT BILSTM 计算文本相似度的过程&#xff0c;主要的配置如下&#xff1a; tensorflow-gpu 2.10.0 python 3.10 transformers 4.26.1数据处理 这里导入了后续步骤需要用到的库&#xff0c;包括 NumPy、…

通用Mapper基础学习

一、引入 二、快速入门 1.创建测试数据 2.搭建MyBatis+Spring 开发环境 3.集成Mapper 4.第一个操作 Mapper接口源码介绍: 创建测试类: 三、常见操作

电阻常见失效模式

电阻常见失效模式&#xff1a; 电阻器由于结构较为简单&#xff0c;工艺成熟&#xff0c;通常失效率相对较低。器失效主要表现为以下几种&#xff1a; 阻值漂移&#xff1a;老化后通常发生&#xff1b;&#xff08;通过老化试验进行筛选&#xff0c;规避该问题&#xff09; …

SLT简介【简单介绍SLT】

SLT简介 在c的学习当中STL的学习是一个很重要的一环&#xff0c;但是STL又是一个庞大的章节&#xff0c;因此这里我们先简单介绍一下STL&#xff0c;有助于后面我们对STL的学习&#xff0c;这里就是做一个简单的介绍&#xff0c;并无干货。 1.什么是STL STL(standard templa…

如何用R语言ggplot2画折线图

文章目录 前言一、数据集二、ggplot2画图1、全部代码2、细节拆分1&#xff09;导包2&#xff09;创建图形对象3&#xff09;主题设置4&#xff09;轴设置5&#xff09;图例设置6&#xff09;颜色7&#xff09;保存图片 前言 一、数据集 数据下载链接见文章顶部 数据&#xff1a…

CentOS Stream 9 磁盘扩容

当Linux系统磁盘被占满且资料无法删除&#xff0c;需要新添加磁盘&#xff0c;并将新磁盘扩容到相应的满载磁盘中 查看现有磁盘分区 [rootwcg-lvm-001 ~]# fdisk -l Disk /dev/sda&#xff1a;180 GiB&#xff0c;193273528320 字节&#xff0c;377487360 个扇区 磁盘型号&am…

数据的加密解密——https协议

回顾http协议&#xff1a; http协议发送的请求或者响应里的2正文数据是不做任何加密的&#xff0c;数据是裸的&#xff08;原数据是什么样&#xff0c;发送过去的护具就是怎么样&#xff09;&#xff0c;但是在客户端到服务器之间是要通过中间运营商&#xff0c;路由器等中间人…

从初级到专业级,百度打破了AI的天花板

文&#xff5c;王一粟、艺思 大模型爆火一年&#xff0c;超级应用在哪里&#xff1f; 相比在ChatGPT问世时&#xff0c;人们对于“AI问答产品”寄予的超高期待&#xff0c;AI在办公场景中率先展现出来的能量&#xff0c;超出了所有人的预期。 6月7日&#xff0c;“AI产品榜”…

mmdetection使用未定义backbone训练

首先找到你需要用到的 backbone&#xff0c;一般有名的backbone 都会在github有相应的代码开源和预训练权重提供 本文以mobilenetv3 fastercnn 作为举例&#xff0c;在mmdetection中并未提供 mobilenetv3&#xff0c;提供的仅有 mobilenetv2&#xff1b; 在github上找到 mobil…