前言:

毕业到现在从事前端开发已经半年左右,做过移动端和PC端大小不同项目,发现自己所学习的技能都只是为了更好的完成项目,从来没有花时间好好整理下所掌握的知识。农历三月百花盛开,群芳争艳;新历三月是个跳槽季,各路神仙汇集一堂,大展神通。原本只打算安安稳稳、踏踏实实工作的我,却受朋友的蛊惑,邀请我去他们公司试试,听朋友介绍他们公司福利好,妹子靓,氛围棒,环境优……我那颗老僧入定,坚若磐石的心动摇了。 我犹豫,渴望,心情像久未人事的少妇在红杏出墙时的忐忑。我兴奋地开始整理半年来所做的大小项目,看着那些存在公司硬盘的大大小小项目,心里油然升起莫名的自信,觉得经验在手,天下我有。当我整理完项目后,我打开浏览器准备看下笔试题,那一道道笔试题像一把把锋利的尖刀直插我心脏,虽然大多数能看个所以然,但是要我自己一个个写出来好比登上那珠穆朗玛峰,心情一落千丈,就像喝醉酒的老男人看着躺在床上脂如白玉窈窕可人的“小绵羊”,心有余而力不足…….为了让自己变得更加强大,我抬起头,仰望苍穹,嘴角露出属于男人的自信……为了那一枪打的更持久,我抖了抖衣角,低下头,从基础开始做起。

言归正传,下次再扯淡!

JavaScript引入方式

嵌入式

<script type="text/javascript">function sayHi(){alert("Hi!");}
</script>

注意点:文档加载和解析方式从上到下,意味着嵌入式的javaScript也将从上至下依次解析,所以需要注意嵌入式的javaScript存放的位置,因为页面上javaScript内部所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。
测试:

<head><meta charset="UTF-8"><title>我是一个死循环</title><script>var i=0;while(true){i++;}</script>
</head>
<body>
<p>因为那该死的script,让我露个面都不行</p>
</body>

测试结果显示,JavaScript在一直计算,页面中其余内容无法被加载或显示。
外部引用

head头部中引用:

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>我是一个测试用例</title><script type="text/javascript" src="example1.js"></script><script type="text/javascript" src="example2.js"></script>
</head>
<body><!--这里放内容-->
</body>
</html>

body内容之后引用:

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>我是一个测试用例</title>
</head>
<body><!--这里放内容--><script type="text/javascript" src="example1.js"></script><script type="text/javascript" src="example2.js"></script>
</body>
</html>

注意点:head中引用JavaScript外部文件,意味着必须等到JavaScript代码被全部下载、解析、执行完成后才开始呈现页面内容,这种引入方式会导致页面呈现的延迟,所有慎用。body内容之后引用,则先呈现页面内容,再下载JavaScript代码,这种加载方式会出现页面可能在一段时间内无法进行交互,因为JavaScript代码没有被解析完成。当然以用户体验为先,我们选择第二种引入方式。

JavaScript加载顺序:

浏览器会根据`<script>`元素在页面中的先后顺序对他们依次解析,前提是不存在defer和async属性。意思是说在第一个`<script>` 包含的代码解析完成后,第二个`<script>` 才会被解析,以此类推。

延迟脚本defer属性

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>我是一个测试用例</title><script type="text/javascript" defer="defer" src="example1.js"></script><script type="text/javascript" defer="defer" src="example2.js"></script>
</head>
<body><!--这里放内容-->
</body>
</html>

defer:可选。表示脚本可以延迟到文档完全被解析之后再执行。只对外部脚本文件有效。
从属性的解释就可以知道它的作用,不过需要注意的是,延迟脚本不一定会按照顺序执行,所以最好只包含一个延迟脚本。和defer类似的还有一个属性:async,这个属性我个人不太推荐去了解它,因为几乎不怎么用到,如果有兴趣的哥们自己去查看相关资料。

嵌入式和外部引用选择

HTML中嵌入JavaScript代码虽然没问题,但一般认为最好的做法还是尽可能的使用外部文件来包含JavaScript代码。
优势:
可维护性:遍及不同HTML页面的JavaScript会造成维护问题,
可缓存:浏览器能够根据具体的设置缓存链接的所有外部JavaScript文件,也就是,如果两个页面都使用同一个文件,那么文件只需要加载一次。

<noscript> 元素

说完JavaScript引入方式后提及下 <noscript> 元素,早期浏览器面临一个特殊问题,当浏览器不支持JavaScript时如何让页面平稳退化,这个问题的最终解决方案就是创造一个 <noscript> 元素。

使用场景:
1:浏览器不支持脚本
2:浏览器支持脚本,但脚本被禁用。

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>我是一个测试用例</title><script type="text/javascript" defer="defer" src="example1.js"></script><script type="text/javascript" defer="defer" src="example2.js"></script>
</head>
<body><noscript><p>本页面需要浏览器支持(启用)JavaScript</p></noscript>
</body>
</html>

小弟开始整理相关知识,如果有不同哪里理解不对的,请大神们多多指教。

javaScript引入方式相关推荐

  1. JavaScript——引入方式

    JavaScript引入方式 1.编写一个简单网页 2.将JavaScript嵌入到HTML中 3.JavaScript引入方式 1.嵌入式 2.外链式 3.行内式 1.编写一个简单网页 <!D ...

  2. JavaScript简介及其引入方式

    #博学谷IT学习技术支持# 目录 #博学谷IT学习技术支持# 1.JavaScript简介 2.JavaScript 引入方式 1内部脚本:将 JS代码定义在HTML页面中 2. 外部脚本:将 JS代 ...

  3. web前端(13)—— 了解JavaScript,JavaScript的引入方式

    从本篇博文开始,将进入web前端方便最关键最重要的部分--javascript,学到后面你就知道它真的太重要了 什么是JavaScript JavaScript一种直译式的脚本语言,是一种动态类型.弱 ...

  4. JavaScript的引入方式

    javaScript 的几种引入方式: 通常大家最为熟悉和常见的是以下两种方法: 在页面中直接写入<script type="text/javascript">js代码 ...

  5. Javascript - 1 引入方式,变量常量,数据类型,运算符,流程控制,数组,函数,对象,DOM

    Javascipt:是一门弱类型的脚本语言,需要在网页上执行. html负责框架结构,css负责样式修饰,js负责行为交互,动态效果. 前端三大件:html,css,js. javascript 和 ...

  6. 【前端系列教程之JavaScript】01_JavaScript概述和引入方式

    JavaScript概述 JavaScript可以做什么 页面的各种动画效果 页面的点击/移入响应 对客户端数据进行验证 各种页面小游戏 用途总结 嵌入动态文本于HTML页面. 对浏览器事件做出响应( ...

  7. HTML引入CSS和JavaScript的方式

    高速通道 HTML结合CSS 引入CSS之内联式 引入CSS之嵌入式 引入CSS之外部式 三种方式的比较 HTML结合JavaScript 引入JavaScript之嵌入式 引入JavaScript之 ...

  8. javascript的三种引入方式

    javascript有三种引入方式: 1.行内引入: <开始标签 on+事件类型="js代码"></结束标签> 行内引入方式必须结合事件来使用,但是内部js ...

  9. JavaScript——JS的引入方式

    文章目录 JavaScript--我的第一个JavaScript程序以及JS的引入方式 初识JavaScript 我的第一个JS程序 JS的引入方式 外部引入方式 嵌入式 内部引用方式 行内引用 Ja ...

  10. JS的三种引入方式[javaScript入门]

    目录 1.行内引入方式 2.内嵌引入方式(内部引入) 3.外部引入方式 1.行内引入方式 写在行内,每个标签里面单独设置 (1)写在标签的事件属性当中(以on开头的属性),如onclick[on+事件 ...

最新文章

  1. 求任意数阶乘最后一位
  2. mysql master slave_mysql master slave
  3. python 数据库表结构转为类_顺序表数据结构在python中的应用
  4. 阿里云移动测试平台MQC移动测试沙龙第3期【北京站】
  5. pycharm加速安装python包的速度
  6. 用根因定位法,让运维效率再高一点!
  7. iscsi存储常见错误
  8. 做不完了吧,做不出了吧!
  9. 数据库索引为什么用B+树实现?
  10. Web系统集成OCS在线状态功能
  11. 知行EDI系统Excel方案对比集成业务系统方案
  12. java计算机毕业设计高校贫困生信息管理系统源码+mysql数据库+系统+lw文档+部署
  13. MySQL数据库实验
  14. UVA 1449 Dominating Patterns(AC自动机)
  15. Linux系统中的mount挂载命令及参数详解
  16. 把通过高德静态地图API获取的地图图片,拼接成一张大地图图片
  17. 当动作捕捉应用到教学教研工作领域
  18. 浪潮server 2008服务器自动重启,Windows Server 2008 R2不定时自动重启,求解决办法。...
  19. Android Studio导入安卓项目解决grade的版本不匹配问题
  20. 论理想的AR/VR广告应该什么样?

热门文章

  1. 酒店管理系统程序设计
  2. 大数据之Hadoop简介
  3. 欧姆龙cp1h指令讲解_欧姆龙plc指令讲解.ppt
  4. 网络工程制图论文计算机,工程制图论文.doc
  5. 非参数统计的Python实现——随机游程检验
  6. 达梦数据库连接工具简介
  7. GD32MCU硬件I2C学习(一)
  8. 逐行分析jQuery源码
  9. c语言dll导出函数举例,DLL中导出函数的两种方式(dllexport与.def文件)
  10. 中孚保密检查客户端 完全卸载_中孚计算机终端保密检查工具