1-了解JavaScript(两种API+三种页面添加方式+脚本调用策略)

前言

期末紧急补习,仅片面学习

一、JS是什么?

JavaScript:一种面向对象的解释型脚本语言,一般用于前端与其他技术配合来实现一些操作(网页动态操作、网页内容改动、数据处理、异步、页面交互),或者在node.js上独立运行,用于开发脚本或服务器。

二、应用程序接口(API)

JavaScript的API非常强大,几乎可以实现任何在网页上想要实现的功能,而JS的API又分为两类:浏览器API和第三方API。

1.浏览器API

内建于web浏览器中,可以在用户浏览器中存储数据。
①文档对象模型(DOM)API
功能:操作 HTML 和 CSS。
很多常见的动态效果都是通过DOM实现的,比如:弹窗、表单验证、添加或删除元素等。

②地理位置 API
功能:获取用户地理位置。
比如定位在地图上。

③画布(CanVas)和 WebGL API:
功能:创建2D和3D图像,用于动画和图形展示。

④影音类 API:
功能:处理和播放多媒体内容,比如视频、音频以及视频聊天。

2.第三方API

第三方 API 并不是浏览器默认提供的功能,而是由外部器创建和维护的。

三、向页面添加JavaScript代码的三种方法

1.内部JS

在html文件中直接使用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>狗埃斯测试</title>
    <!-- 一个弹窗操作示例 -->
    <script>
        alert("Hellow,World!")
    </script>

<body>
    <!-- 页面内容 -->
</body>

</html>

网页效果:

在这里插入图片描述

2.外部JS

即以文件的形式引入
index.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>狗埃斯测试</title>
    <!-- 一个弹窗操作示例 -->
    <script src="test.js">
    </script>
<body>
    <!-- 页面内容 -->
</body>

</html>

test.js文件:

alert("作为文件引入网页成功")

网页效果:

在这里插入图片描述

3.内联JS

这种方式会让html变得杂乱而且效率低下,不推荐使用。
比如在一个按钮标签中之间关联一个点击操作

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>狗埃斯测试</title>
     <button onclick="getH()">点击按钮显示文字</button>
    <script>
        // 获得文字信息的方法
        function getH(){
            var H = document.createElement("p");
            H.textContent = "Hellow" ;
            document.body.appendChild(H);
        } 
    </script>

<body>
    <!-- 页面内容 -->
</body>

</html>

网页效果:
在这里插入图片描述

四、JS的运行次序

浏览器会按照由上至下的顺序执行JavaScript代码。
如果写错了顺序,对象未被声明代码就已经调用,则不会正确运行
将上面的test.js修改为:

alert(H);
H = "Hellow World";

浏览器运行到alter但是在此之前没有读取到变量H,所以不会弹出信息
在这里插入图片描述

五、脚本调用策略

由于HTML也是由上至下读取代码的,所以脚本的调用顺序同样重要,若读取到js时网页的元素还未加载完毕,就无法实现相应的效果。

1.内部-JS监视器

2.外部JS-defer属性或置底

①通过在script标签中添加defer来解决页面加载和脚本加载的问题。

<script src="test.js" defer>

②将脚本元素放在html文件的最底部,这种方式可以实现HTML加载完毕之后再加载脚本。

<body>
    <script src="test.js">
    </script> 
</body>
</html>

但如果项目中含有大量的JavaScript代码,则会带来性能损耗。这一问题可以使用异步(async)解决。

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JC03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值