(一)javascript简介、(二)在HTML中使用javascript

1. 一个完整的 javascript 实现应该由以下三个部分构成:

核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)

(1)核心(ECMAScript):这一部分主要是js的基本语法。

(2)BOM:Brower Object Model(浏览器对象模型),主要是获取浏览器信息或操作浏览器的,例如:浏览器的前进与后退、浏览器弹出提示框、浏览器地址栏输入网址跳转等操作等。

(3)DOM:Document Object Model(文档对象模型),此处的文档暂且理解为html,html加载到浏览器的内存中,可以使用js的DOM技术对内存中的html节点进行修改,用户从浏览器看到的是js动态修改后的页面。(增删改查);js操纵html节点(包括更改外观和内容等)

 

2. script 标签 async、 defer

script 标签用于 加载脚本 和 执行脚本

使用defer或者async的目的:使得script 标签无论在什么情况下都不会阻塞 DOM 结构的渲染

defer: 同步

立即下载,延迟执行。等到整个页面都解析完毕之后再运行。所以如果 script 标签要写在<head></head>里,需要加defer

defer 只适用于外部脚本,src引入~使用方式如下:

<script src='./a.js' defer='defer'></script>

async: 异步

异步加载script, 一边浏览器 立即加载 该script 标签,一边解析页面,谁先加载完谁先执行

async 也是只适用于外部脚本,使用方式如下:

<script src='./a.js' async></script>

如果不写async, 也不写defer , 则浏览器会根据代码顺序从上向下加载,解析完成第一个 script 后,解析第二个……后面的要想被解析必须等到前面的解析完毕。

 

推荐使用场景:

defer: script 里的代码 依赖 dom 元素

async: script 里的代码不依赖dom元素

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值