Web前端 | HTML嵌入JS代码的三种方式

news2025/1/31 11:17:29

✅作者简介:一位材料转码农的选手,希望一起努力,一起进步!

📃个人主页:@每天都要敲代码的个人主页

🔥系列专栏:Web前端

目录

一:JavaScript概述

二: HTML嵌入JS代码的三种方式

第一种方式:事件句柄onclick

第二种方式:脚本块的方式

第三种方式:引入外部独立的JS文件


一:JavaScript概述

(1)JavaScript是运行在浏览器上的脚本语言,简称JS。

(2)JavaScript是网景公司布兰登艾奇(JavaScript之父)开发的,最初叫做LiveScript
(3)LiveScript的出现让浏览器更加的生动了,不再是单纯的静态页面,页面更具有交互性
(4)在历史的某个阶段,SUN公司和网景公司他们之间有合作关系,SUN公司把LiveScript的名字修改为JavaScript
(5)JavaScript这个名字中虽然带有“Java”但是和Java没有任何关系,只是语法上优点类似!他们运行的位置不同Java运行在JVM当中,JavaScript运行在浏览器的内存当中!

(6)JavaScript程序不需要手动编译,编写完源代码之后,浏览器直接打开解释执行
(7)JavaScript的“目标程序”以普通文本形式保存,这种语言都叫做“脚本语言”。

         Java的目标程序已.class形式存在,不能使用文本编辑器打开,不是脚本语言。
(8)ECMA根据JavaScript制定了ECMA-262号标准,叫做ECMA-Script。

    现代的javascript和jscript都实现了ECMA-Script规范。(javascript和jscript统一了)

(9)以后我们会学习一个叫做JSP的技术,JSP和JS的区别
        JSP : JavaServer Pages(隶属于Java语言的,运行在JVM当中)
        JS : JavaScript(运行在浏览器上)

二: HTML嵌入JS代码的三种方式

第一种方式:事件句柄onclick

(1)JS是一门事件驱动型的编程语言,依靠事件去驱动,然后执行对应的程序!
      在JS中有很多事件,其中有一个事件叫做:鼠标单击,单词:click。并且任何事件都会对应一个事件句柄叫做:onclick而事件句柄是以HTML标签的属性存在的!

(2)οnclick="js代码",执行原理是什么?
      页面打开的时候,js代码并不会执行,只是把这段JS代码注册到按钮的click事件上了。等这个按钮发生click事件之后,注册在onclick后面的js代码会被浏览器自动调用!

(3)怎么使用JS代码弹出消息框?
      在JS中有一个内置的对象叫做window,全部小写,可以直接拿来使用,window代表的是浏览器对象。window对象有一个函数叫做:alert,用法是:window.alert("消息");这样就可以弹窗了!window也可以省略!

(4)JS中的字符串可以使用双引号,也可以使用单引号。JS中的一条语句结束之后可以使用分号“;”,也可以不用。

实现的功能:用户点击以下按钮,弹出消息框

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>HTML引入CSS代码的第一种方式</title>
	</head>
	<body>
		
		<!--在onclick里面嵌入JS代码,然后点击“按钮”,做到动态效果-->
		<input type="button" value="按钮" onclick="window.alert('Hello');">
		</input> <br>
		
		<!--当输入多条window.alert语句时,不会一下输出所有的内容,点击一下输出一条-->
		<input type="button" value="按钮" onclick="window.alert('Hello zhangsan')
												   alert('Hello lisi')
											       alert('Hello wangwu');">
		</input>
	</body>
</html>

第二种方式:脚本块的方式

(1)javascript的脚本块在一个页面当中可以出现多次,没有要求。
         javascript的脚本块出现位置也没有要求,随意。

(2)暴露在脚本块当中的程序,在页面打开的时候直接就执行,并且遵守自上而下的顺序依次逐行执行。(这个代码的执行不需要事件)

(3)alert有阻塞当前页面加载的作用。(阻挡,直到用户点击确定按钮)

(4)语法格式:

<script type="text/javascript">JS代码</script>
<!--代码块在最上面-->
<script type="text/javascript">
	window.alert("first.......");
</script>

<!doctype html>
<html>
	<head>
		<title>HTML中嵌入JS代码的第二种方式</title>
		
		<!--代码块出现在head里-->
		<script type="text/javascript">
			window.alert("head............");
		</script>

	</head>
	<body>
		<!--按照顺序执行,上面两个脚本块执行完了,才会显示这个按钮1-->
		<input type="button" value="按钮对象1" />
		
		<!--第二种方式:脚本块的方式-->
		<!--代码块出现在body里-->
		<script type="text/javascript">
			// alert函数会阻塞整个HTML页面的加载。
			window.alert("Hello World!"); 
			window.alert("Hello JavaScript!");
		</script>
		<!-- 刚开始不会直接显示这个按钮,当上面脚本块都结束,按顺序才会执行到这里---->
		<input type="button" value="按钮对象2" />
	</body>
</html>
<!--代码块在最下面-->
<script type="text/javascript">
	window.alert("last.......");
</script>

第三种方式:引入外部独立的JS文件

(1)和引入css的方式是类似的,也是页面一打开就会执行JS代码,但是注意在script标签中间写入代码是无效的

(2)语法格式:

<script type="text/javascript" src="路径"></script>

.JS文件

window.alert("hello js!");
window.alert("hello js test!");

引入.JS文件的代码

<!doctype html>
<html>
	<head>
		<title>HTML中嵌入JS代码的第三种方式:引入外部独立的js文件。</title>
	</head>
	<body>
		
		<!--在需要的位置引入js脚本文件-->
		<!--引入外部独立的js文件的时候,js文件中的代码会遵循自上而下的顺序依次逐行执行。-->
		<script type="text/javascript" src="js/1.js"></script>

		<!--同一个js文件可以被引入多次,但实际开发中这种需求很少-->
		<script type="text/javascript" src="js/1.js"></script>

		<!--这种方式不行,结束的script标签必须有。-->
		<script type="text/javascript" src="js/1.js" />
	    
        <!--在<script>中间写代码不会执行-->
		<script type="text/javascript" src="js/1.js">
			// 这里写的代码不会执行。
			// window.alert("Test");
		</script>       

	</body>
</html>

总结:

(1)采用事件句柄的方式,浏览器打开时不会执行JS代码,当事件发生时才会执行JS代码,比如点击按钮。

(2)采用脚本块的方式,位置是任意,浏览器一代开JS代码就会执行。

(3)引入外部的.JS文件也是浏览器一打开就执行对应的JS代码。

<!--事件的方式-->
<input type="button"  value="按钮" onclick="window.alert('Hello World')"/>
<!--脚本块的方式-->
<script type="text/javascript">
	window.alert("HeHe");
</script>
<!--引入外部的.js文件方式-->
<script type="text/javascript" src="1.js"></script>

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

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

相关文章

如何升级Vue的版本 vue2.9.6升级到vue3.0

背景&#xff1a;电脑使用多年&#xff0c;一直使用vue 2.x版本&#xff0c;项目开发过程中由于一个模块涉及的集成模块过多&#xff0c;导致需要进行定义的变量越来越多&#xff0c;代码出现冗余&#xff0c;因此在同事的推动下&#xff0c;鉴于vue 3.x的优化&#xff0c;故对…

HTML学生个人网站作业设计:个人主页博客web网页设计制作 (HTML+CSS) (1)

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

React函数式组件传值(父子,兄弟,祖先等)以及父子之间方法的调用。

一.前言 react作为一门前端语言&#xff0c;具有独特灵活性&#xff0c;这也是它的魅力所在。前端组件化&#xff0c;也是将整个前端分成了一个一个组件&#xff0c;本期我们讲解的就是react组件之间的传值&#xff08;包括父子&#xff0c;兄弟&#xff0c;祖先&#xff09;等…

Vue知识点总结

特出以下声明&#xff01;&#xff01;&#xff01;小编只是一个喜欢系统化总结知识的人&#xff0c;我这里的总结&#xff0c;可以理解为vue的知识框架。有一些关于语法之类的&#xff0c;建议大家去官网看&#xff0c;可以直接施展CV大法&#xff0c;哈哈哈。同时有一些知识点…

【Vue全局事件总线详解】

Vue全局事件总线详解Vue全局事件总线详解简介原理一、满足所有组件都能访问得到全局事件总线二、可以调用 $on ,和 $off 和 $emit实现全局事件总线完整实例代码总结Vue全局事件总线详解 简介 全局事件总线是一种组件间通信的方式&#xff0c;适用于任意组件间通信 全局事件…

1.启动前端项目(命令行)

1、从github或其他地方获得的前端项目&#xff0c;想要看效果 1.用管理员身份运行命令提示符&#xff08;windows的控制后台&#xff09; 2.进入前端项目安装的文件夹&#xff08;这是我的文件夹&#xff09; 3.在命令行中输入&#xff1a;npm install 4.在命令行中输入&am…

Vben Admin框架 table的使用以及相关的内容

Vben Admin框架 table的使用以及相关的内容 一、table的使用基础示例&#xff1a; Vben Admin官网链接: 官网组件页链接 这是我使用此框架的用法&#xff0c;仅供参考&#xff0c;我是vue3项目中使用此框架&#xff0c;写法是vue3的写法 第一步 引入BasicTable 组件。 // r…

【Web前端】一文带你吃透HTML(上篇)

前端学习路线小总结: 基础入门:HTML CSS JavaScript三大主流框架:VUE REACT Angular深入学习:小程序 Node jQuery TypeScript 前端工程化🍁开始前端之旅吧! 一.HTML简介1.什么是HTML?2.HTML 标签3.HTML 元素4.HTML版本5.Web 浏览器<

Vue computed 报错:Computed property ‘ ‘ was assigned to but it has no setter 错误原因分析与解决办法

错误描述 最近在封装Vue模块时&#xff0c;借助Vue的Computed属性监听传递的数据&#xff0c;但是开发调试过程中控制台取提示Computed property was assigned to but it has no setter 错误。控制台报错如下&#xff1a; 错误分析 根据控制台错误提示&#xff0c;组件中定义…

如何给网页添加icon图标?

做一些小页面或者项目的时候&#xff0c;我们会发现每个网站都有自己的小图标&#xff0c;下面我就告诉你怎么弄这个&#xff0c;超简单的&#xff01;&#x1f49c;&#x1f49c; 网站添加icon小图标网页图标favicon.ico小简介1.添加网站已有icon图标2.自定义icon图标网页图标…

VUE——使用VUE脚手架创建项目

前言 vue脚手架工具&#xff0c;对vue项目构造做了封装&#xff0c;直接使用vue-cli创建项目&#xff0c;常用配置自动帮你完成&#xff0c;不用自己像使用webpack一样配置。 目录 1、安装 npm i vue 2、创建vue项目 3、运行项目 1、安装 npm i vue ps:项目化开发中&…

前端加密,后端解密的过程及代码(密码明文传输解决,不是太保险。key在前端有显示)

在工作中经常遇到密码明文传输这个问题&#xff0c;为了让密码安全些会让加密&#xff0c;现在有个比较方便的AES加密分享给大家&#xff0c;话不多说&#xff0c;上代码 1&#xff0c;首先引入前端需要用到的js&#xff1a;crypto-js&#xff0c;下载命令 npm install cryp…

vue中computed和watch的使用场景

一、computed computed擅长处理的场景&#xff1a;一个数据受多个数据影响&#xff0c;如果一个属性是由其他属性计算而来的&#xff0c;这个属性依赖其他属性是一个多对一或者一对一&#xff0c;一般用computed&#xff1b; 如果 computed 属性值是函数&#xff0c;那么默认会…

uni-app,vue3接口请求封装

uni-app接口&#xff0c;全局方法封装 1.在根目录创建一个api文件&#xff0c;在api文件夹中创建api.js&#xff0c;baseUrl.js和http.js文件 2. baseUrl.js文件代码 export default "https://XXXX.test03.qcw800.com/api/" 3.http.js文件代码 export function h…

【微信小程序】运行机制和更新机制

&#x1f352;观众老爷们好呀&#xff0c;牛牛又更文了&#xff0c;上文我们对部分比较常用的组件进行了讲解&#xff0c;作为开发者&#xff0c;我们还需要对小程序的运行机制和更新机制做一定的了解&#xff0c;那问题来了&#xff0c;你对它们了解多少呢&#xff1f; &#…

微信小程序自定义导航栏机型适配--底部Tabbar--view高度--底部按钮适配

自定义微信小程序头部导航栏 自定义微信小程序头部导航栏&#xff0c;有几种方式 方式一 {"navigationStyle": "custom" // 将navigationStyle从默认default改为custom }定义此方法后&#xff0c;头部的导航栏会去掉&#xff0c;导航栏下的元素会直接向上…

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序?npm i (npm install)安装不上的原因

启动项目时&#xff0c;本地有node包&#xff0c;但是终端提示&#xff1a;vue-cli-service 不是内部或外部命令&#xff0c;也不是可运行的程序&#xff0c;导致项目无法启动&#xff0c;如下&#xff1a; 原因之一是项目的npm版本较低&#xff0c;但是你本地的npm版本过高&am…

uniapp一键发行代码并混淆代码

第一步.在项目根目录下安装插件 npm install javascript-obfuscator -g安装完成后&#xff0c;javascript-obfuscator就是一个独立的可执行命令了。 javascript-obfuscator -v第二步&#xff1a;HbuilderX点击发行按钮&#xff0c;打包代码到dist文件中 小程序发行后代码会自…

微信小程序--》小程序—全局数据共享和分包

&#x1f3cd;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名在校大学生 &#x1f6f5;个人主页&#xff1a;亦世凡华、 &#x1f6fa;系列专栏&#xff1a;微信小程序 &#x1f6b2;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&…

Code For Better 谷歌开发者之声—— 在 Windows 10 上对 Google Chrome 进行故障排除

&#x1f482; 个人网站:【 海拥】【小霸王游戏机】&#x1f91f; 风趣幽默的前端学习课程&#xff1a;&#x1f449;28个案例趣学前端&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计算机相关知识题库&…