Click Me
上面的示例将向您显示单击按钮元素时的警报消息。
**提示:**您应该始终将网页的内容和结构(即 HTML)与表示 (CSS) 和行为 (JavaScript) 分开。
该<script>
元素可以放置在HTML 文档的<head>
、 或<body>
部分中。但理想情况下,脚本应该放在 body 部分的末尾,就在结束</body>
标记之前,这将使您的网页加载速度更快,因为它可以防止初始页面呈现的障碍。
每个<script>
标签都会阻止页面渲染过程,直到它完全下载并执行了 JavaScript 代码,因此将它们<head>
无任何正当理由放置在文档的头部部分(即元素)将显着影响您的网站性能。
**提示:**您可以<script>
在单个文档中放置任意数量的元素。但是,它们是按照它们在文档中出现的顺序从上到下进行处理的。
客户端脚本语言如 JavaScript、VBScript 等由 Web 浏览器解释和执行,而服务器端脚本语言如 PHP、ASP、Java、Python、Ruby 等在 Web 服务器上运行并输出以 HTML 格式发送回 Web 浏览器。
与传统的服务器端脚本方法相比,客户端脚本有许多优点。例如,您可以使用 JavaScript 检查用户是否在表单字段中输入了无效数据,并在将表单提交到 Web 服务器以进行最终数据验证和进一步处理之前,实时显示相应的输入错误通知,以防止不必要的网络带宽使用和服务器系统资源的利用。
此外,与客户端脚本相比,来自服务器端脚本的响应速度较慢,因为服务器端脚本是在远程计算机上而不是在用户的本地计算机上处理的。
========================================================================
本教程的这一部分是关于核心 JavaScript,即语言本身。
但是我们需要一个工作环境来运行我们的脚本,而且由于本书是在线的,浏览器是一个不错的选择。我们会将特定于浏览器的命令(例如alert
)的数量保持在最低限度,这样如果您打算专注于另一个环境(例如 Node.js),就不会在这些命令上花费时间。在本教程的下一部分,我们将重点介绍浏览器中的 JavaScript 。
首先,让我们看看如何将脚本附加到网页上。对于服务器端环境(如 Node.js),您可以使用类似"node my.js"
.
JavaScript 程序几乎可以使用<script>
标签插入到 HTML 文档的任何位置。
例如:
Before the script...
...After the script.
该<script>
标签包含当浏览器处理标签,其被自动执行JavaScript代码。
该<script>
标签具有很少采用时下,但仍可以在旧代码中发现了几个属性:
- 该
type
属性:<script type=…>
旧的 HTML 标准 HTML4 要求脚本具有type
. 通常是type="text/javascript"
。它不再需要了。此外,现代 HTML 标准完全改变了该属性的含义。现在,它可以用于 JavaScript 模块。但这是一个高级主题,我们将在教程的另一部分讨论模块。
- 该
language
属性:<script language=…>
此属性旨在显示脚本的语言。此属性不再有意义,因为 JavaScript 是默认语言。没有必要使用它。
- 脚本前后的注释。
在真正古老的书籍和指南中,您可能会在<script>
标签中找到注释,如下所示:<script type="text/javascript"><!-- ... //--></script>
这个技巧在现代 JavaScript 中没有使用。这些注释对不知道如何处理<script>
标签的旧浏览器隐藏了 JavaScript 代码。由于过去 15 年发布的浏览器没有这个问题,这种注释可以帮助您识别真正的旧代码。
如果我们有很多 JavaScript 代码,我们可以把它放到一个单独的文件中。
脚本文件通过以下src
属性附加到 HTML :
这里,/path/to/script.js
是从站点根目录到脚本的绝对路径。还可以提供当前页面的相对路径。例如,src="script.js"
表示"script.js"
当前文件夹中的一个文件。
我们也可以提供完整的 URL。例如:
要附加多个脚本,请使用多个标签:
…
请注意:
通常,只将最简单的脚本放入 HTML。更复杂的文件驻留在单独的文件中。
单独文件的好处是浏览器将下载它并将其存储在其缓存中。
引用相同脚本的其他页面将从缓存中获取它而不是下载它,因此该文件实际上只下载一次。
这减少了流量并使页面更快。
如果src
设置,脚本内容将被忽略。
单个<script>
标签不能同时包含src
属性和代码。
这行不通:
我们必须选择外部<script src="…">
或常规<script>
代码。
上面的例子可以分成两个脚本来工作:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
JavaScript
-
js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
-
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
-
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
-
JS常见的dom操作api
-
解释一下事件冒泡和事件捕获
-
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
-
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
-
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
-
call,apply,bind
-
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
-
创建对象的多种方式
-
实现继承的多种方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】