1.<script>元素

属性值:

 async :可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其
他脚本加载。只对外部脚本文件有效。
 charset :可选。使用 src 属性指定的代码字符集。这个属性很少使用,因为大多数浏览器不
在乎它的值。
 crossorigin :可选。配置相关请求的CORS(跨源资源共享)设置。默认不使用CORS。 crossorigin="anonymous" 配置文件请求不必设置凭据标志。 crossorigin="use-credentials" 设置凭据标志,意味着出站请求会包含凭据。
 defer :可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件效。在 IE7 及更早的版本中,对行内脚本也可以指定这个属性。
 integrity :可选。允许比对接收到的资源和指定的加密签名以验证子资源完整性(SRI,
Subresource Integrity)。如果接收到的资源的签名与这个属性指定的签名不匹配,则页面会报错,脚本不会执行。这个属性可以用于确保内容分发网络(CDN,Content Delivery Network)不会提供恶意内容。
 language :废弃。最初用于表示代码块中的脚本语言(如 "JavaScript" 、 "JavaScript 1.2"
或 "VBScript" )。大多数浏览器都会忽略这个属性,不应该再使用它。
 src :可选。表示包含要执行的代码的外部文件。
 type :可选。代替 language ,表示代码块中脚本语言的内容类型(也称 MIME 类型)。按照惯
例,这个值始终都是 "text/javascript" ,尽管 "text/javascript" 和 "text/ecmascript"都已经废弃了。JavaScript 文件的 MIME 类型通常是 "application/x-javascript" ,不过给type 属性这个值有可能导致脚本被忽略。在非 IE 的浏览器中有效的其他值还有"application/javascript" 和 "application/ecmascript" 。如果这个值是 module ,则代码会被当成 ES6 模块,而且只有这时候代码中才能出现 import 和 export 关键字。

使用方式

1.通过它直接在网页中嵌入 JavaScript 代码,以及通过它在网页中包含外部 JavaScript 文件。
2.嵌入行内 JavaScript 代码,直接把代码放在 <script> 元素中就行。

位置

1.<head> 标签内

目的是把外部的 CSS 和 JavaScript 文件都集中放到一起。不过,把所有 JavaScript文件都放在 <head> 里,也就意味着必须把所有 JavaScript 代码都下载、解析和解释完成后,才能开始渲染。

2. <body> 元素中的页面内容后面

页面会在处理 JavaScript 代码之前完全渲染页面。用户会感觉页面加载更快了,因为浏览器显示空白页面的时间短了。

2.行内代码与外部文件

外部文件更优:

 可维护性。JavaScript 代码如果分散到很多 HTML 页面,会导致维护困难。而用一个目录保存所有 JavaScript 文件,则更容易维护,这样开发者就可以独立于使用它们的 HTML 页面来编辑代码。
 缓存。浏览器会根据特定的设置缓存所有外部链接的 JavaScript 文件,这意味着如果两个页面都用到同一个文件,则该文件只需下载一次。这最终意味着页面加载更快。
 适应未来。通过把 JavaScript 放到外部文件中,就不必考虑用 XHTML 或前面提到的注释黑科技。包含外部 JavaScript 文件的语法在 HTML 和 XHTML 中是一样的。

3.文档模式

混杂模式(quirks mode)和标准模式(standards mode)。前者让 IE 像 IE5一样(支持一些非标准的特性),后者让 IE 具有兼容标准的行为。虽然这两种模式的主要区别只体现在通过 CSS 渲染的内容方面,但对JavaScript 也有一些关联影响。

红宝书——02.HTML相关推荐

  1. 一起读JavaScript红宝书 —— 02语法基础(上)

    JavaScript高级程序设计读书笔记,前端神作不容错过.原书近100万字,内容太多,故作笔记尽量在不缩减内容的情况下缩减字数,方便复习和回顾. 语法基础(上) 1. 语法 2. 关键字和保留字 3 ...

  2. 【新书速递】评分卡建模红宝书,夯实智能风控底座

    近些年来,智能风控技术在金融风险管理中的应用越来越广泛.智能风控利用金融大数据.机器学习.深度学习.强化学习.时序数据分析.异常检测.社交网络分析.图深度学习.知识图谱.自然语言处理.文本挖掘等智能分 ...

  3. 【JS红宝书学习】9客户端检测

    因为浏览器间存在大大小小的差异以及怪癖(quirk),开发人员应当优先采取一种更通用的方法,然后在使用特定于浏览器的技术增强该方案.当然这是红宝书的观点,是一种渐进增强的观点,还有与之相对的优雅降级思 ...

  4. VS2012通过makefile编译OpenGL红宝书的示例代码

    通过创建新VC项目,然后设置一堆属性,对于懒人来说还是太复杂了.既然它自带了makefile,可以尝试下使用nmake. 需要注意的是VS2012的安装目录里面已经没有GL的头文件和库文件.这个改动应 ...

  5. javascript 高级程序设计_JavaScript 经典「红宝书」,几代前端人的入门选择

    人的一生中总要读几本经典书,在这个"经典"泛滥的年代,什么才是权威的代表,我想大概是一本的书的口碑,能积累下上佳口碑的书,往往也是能经得住时间推敲的.比如这本: 相信许多前端开发者 ...

  6. 《JavaScript高级程序设计(第四版)》红宝书学习笔记(2)(第四章:变量、作用域与内存)

    个人对第四版红宝书的学习笔记.不适合小白阅读.这是part2.持续更新,其他章节笔记看我主页. (记 * 的表示是ES6新增的知识点,记 ` 表示包含新知识点) 第四章:变量.作用域与内存 4.1 原 ...

  7. 《JavaScript高级程序设计(第四版)》红宝书学习笔记(1)

    个人对第四版红宝书的学习笔记.不适合小白阅读.这是part1,包含原书第二章(HTML中的Javascript)和第三章(语言基础).持续更新,其他章节笔记看我主页. (记 * 的表示是ES6新增的知 ...

  8. 红宝书阅读笔记——OPENGL渲染管线

    之前读的时候一直觉得红宝书是很艰涩难懂的,不如NEHE的教程简单. 后来才发觉是自己没基础,几番折腾之后也只能用OPENGL做些简单的东西.半年没写,连glBegin都给忘了. 图形学的大作业要求写个 ...

  9. 《JavaScript高级程序设计》红宝书第二遍阅读(动手实践)

    <JavaScript高级程序设计>红宝书第二遍阅读(动手实践) 第1章--什么是JavaScript 第2章--HTML中的JavaScript 第3章--语言基础 第4章--变量.作用 ...

最新文章

  1. 多媒体视像会议中音视频矩阵的用途
  2. 小白也能看懂的git入门实操[狂神聊git学习笔记]
  3. 五十五、uniapp简单实现Todo项目(慕课网)
  4. js 只准输入数字_基于TensorFlow.js的JavaScript机器学习
  5. stmmac描述符的结构和初始化
  6. JavaScript一个简易枚举类型实现扑克牌
  7. threadlocal使用场景_ThreadLocal有没有内存泄漏?源码给你安排得明明白白
  8. js使用html5,JS使用H5实现图片预览功能
  9. Html5 Canvas动画基础碰撞检测的实现
  10. xml转json(使用工具)
  11. 【毕业设计系列】005:视频图像数字水印matlab GUI系统设计
  12. hackintosh技巧
  13. wps图表横纵坐标怎么设置_用WPS的excel插入图表怎样快速设置横纵坐标轴
  14. 谈谈DRAM的检测等级(eTT与uTT)
  15. 数据类型和运算符(使用Python的AI编程2部1单元2课)
  16. 小说分享《Mehul和我》结尾篇
  17. r语言中的或怎么表示什么不同_R语言中灵活运用if实现根据不同条件执行不同的语句...
  18. python中reduce函数的运用_python 中 reduce 函数的使用
  19. Processing 案例 | 圆圈的华尔兹
  20. AE入门、学习目标、未来方向的探索

热门文章

  1. 拖延症总治不好,怎么办
  2. 洛谷P2615 [NOIP2015 提高组] 神奇的幻方
  3. Linux查找文件和查看文件大小的简单指令
  4. 觉晓科技——前端笔试(2022.4.6)
  5. minecraft崩溃java,如何修复Minecraft崩溃?免费知识库 | MOS86
  6. 安装驱动的inf文件资料,通过inf文件改变硬盘外观
  7. Spring框架梳理总结(适合多刷)
  8. System.out.println()中的System,out,println 分别是什么?
  9. 邂逅CMS第一感(疑难点)
  10. pytorch_gru理解