网站首页 > 基础教程 正文
在网页中编写JavaScript代码时,需要先引入JavaScript代码。JavaScript代码有3种引入方式,分别是行内式、嵌入式和外链式,下面分别进行讲解。
1.行内式
行内式是将JavaScript代码作为HTML标签的属性值使用。例如,在单击超链接“test”时,弹出一个警告框提示“Hello”,示例代码如下:
<a href="javascript:alert('Hello');">test</a>
需要说明的是,行内式只有在临时测试或者特殊情况下使用,一般情况下不推荐使用行内式,因为行内式有如下缺点。
(1)行内式可读性较差,尤其是在HTML文件中编写大量JavaScript代码时,不方便阅读。
(2)行内式在遇到多层引号嵌套的情况时,引号非常容易混淆,导致代码出错。
2.嵌入式
嵌入式(或称内嵌式)使用<scrip>标签包裹JavaScript代码,直接编写到HTML文件中,通常将其放到<head>标签<body>或标签中。<scrip>标签的type属性用于告知浏览器脚本类型,HTML.5中该属性的默认值为“text/javascript”,因此在使用HTML5时可以省略ype属性。嵌入式的示例代码如下:
<script>
JavaScript代码
</script>
3.外链式
外链式(或称外部式)是将JavaScript 代码写在一个单独的文件中,一般使用“js”作为文件的扩展名,在HTML页面中使用<script>标签的src属性引人“js”文件。外链式适合javascript代码量较多的情况。在html页面中引入“js”文件,示例代码如下:
<script src="test.js"></script>
上述代码表示引入当前目录下的tesL.js文件。需要注意的是,外链式的标签内不可以编写JavaScript 代码。
为了帮助初学者更好地理解外链式,下面利用外链式实现浏览网页时在页面中自动弹出警告框。创建Example02.html文件,引入Example02.js文件,具体代码如例1-2所示。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="Example02.js"></script>
</body>
</html>
标签的src属性设置了要引入的文件为Example02.js。
创建Example02.js文件,在该文件中编写如下代码:
alert ('Hello JavaScript');
保存代码,在浏览器中访问Example02.html文件,页面效果与例1-1相同。
以上讲解了JavaScript的3种引入方式。现代网页开发中提倡结构、样式、行为的分离,即分离HTML、CSS、JavaScrixt这3部分代码,这样更有利于文件的维护。当需要编写大量的、逻辑复杂的、具有特定功能的JavaScrigt代码时,推荐使用外链式。外链式相比嵌入式,具有以下3点优势:
(1)外链式存在于独立文件中,有利于修改和维护,而嵌人式会导致HTML代码与JavaScript代码混合在一起。
(2)外链式可以利用浏览器缓存提高速度。例如,在多个页面中引入相同的JavaScript文件时,打开第1个页面后,浏览器将JavaScript文件缓存下来,下次打开其他页面时就不用重新下载该文件了。
(3)外链式有利于HTML页h代码结构化,把大段的JavaScript代码分离到HTML页面之外,既美观,也方便文件级别的代码复用。
- 上一篇: 打开网站就弹出网站公告提示框的JS弹窗代码
- 下一篇: 如何在浏览器账中查看网页的HTML源代码?
猜你喜欢
- 2024-11-14 JavaScript监听浏览器关闭及刷新事件beforeunload
- 2024-11-14 JavaScript 闭包 js中的闭包到底是什么啊
- 2024-11-14 HTML、CSS、JavaScript都能实现哪些功能?「新人必学基础」
- 2024-11-14 手把手教会你JavaScript引擎如何执行JavaScript代码
- 2024-11-14 前端 - HTML基础(1) html5前端教程
- 2024-11-14 检测元素外部点击?分享一段优质 JS 代码片段!
- 2024-11-14 web前端必会知识点:使用JQuery完成页面定时弹出广告
- 2024-11-14 快速云:JavaScript事件模型使用技巧
- 2024-11-14 Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍
- 2024-11-14 Selenium ide对弹出窗口的处理 selenium处理js弹出窗口
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)