搜索
首页web前端js教程你好世界!您的第一个JavaScript程序

学习JavaScript编程的第一步:从“Hello, World!”开始

Hello, World! Your First JavaScript Programs

学习任何编程语言,编写“Hello, World!”程序都是一个传统且重要的入门步骤。这是一个简单的程序,它将短语“Hello, World!”输出到控制台,标志着你编程之旅的开始。我们将遵循这一传统,用JavaScript编写这个程序。它将是一条简单的语句,把“Hello, World!”打印到控制台。

你需要打开你常用的控制台(Node REPL、浏览器控制台或网页上的ES6控制台)。控制台打开后,只需输入以下代码:

console.log('Hello, World!');

然后按Enter键。如果一切顺利,你应该会看到输出“Hello, World!”,类似于下面的截图。

Hello, World! Your First JavaScript Programs

恭喜你,你刚刚编写了你的第一个JavaScript程序!它看起来可能微不足道,但正如一位智者所说,每个编程高手之路都始于一行代码(或者类似的话)。

JavaScript在浏览器中的应用

JavaScript是一种解释型语言,需要宿主环境才能运行。由于其起源,JavaScript主要运行环境是浏览器,但它也可以在其他环境中运行;例如,我们刚刚编写的第一个程序就在Node REPL中运行。Node还可以用于在服务器上运行JavaScript。但到目前为止,JavaScript最常见的用途仍然是使网页具有交互性。因此,在我们继续之前,我们应该了解一下网页的构成。

网页的三层结构

几乎所有网页都由三个关键要素组成——HTML、CSS和JavaScript。HTML用于标记内容;CSS是表示层;JavaScript则增加了交互性。

每一层都建立在前一层的基础之上。一个网页仅仅依靠HTML层就能正常工作——事实上,许多网站会在“裸日”移除CSS层。仅使用HTML层的网站将以其最纯粹的形式呈现,看起来非常老式,但仍然应该完全功能齐全。

保持层级分离

将每一层的关注点分开,使每一层只负责一件事情,被广泛认为是最佳实践。将它们放在一起会导致非常复杂的页面,所有代码混杂在一个文件中,造成“标签汤”或“代码意大利面”。这曾经是制作网站的标准方式,并且网上仍然有很多这样的例子。

非侵入式JavaScript

最初使用JavaScript时,它被设计为直接插入HTML代码中,如下例所示,当点击按钮时将显示一条消息:

<button id='button' href='#' onclick='alert("Hello World")'>Click Me</button>

这使得难以看出发生了什么,因为JavaScript代码与HTML混杂在一起。这也意味着代码与HTML紧密耦合,因此HTML的任何更改都需要更改JavaScript代码才能防止其中断。

可以通过将其放在它自己的标签内来将JavaScript代码与其余HTML分开。以下代码将实现与上述相同的结果:

console.log('Hello, World!');

这样更好,因为所有JavaScript代码都位于一个地方,在两个script标签之间,而不是与HTML标签混合在一起。

我们可以更进一步,将JavaScript代码与HTML和CSS完全分开,放在它自己的文件中。这可以通过在script标签中使用src属性来指定要链接的文件来实现:

<button id='button' href='#' onclick='alert("Hello World")'>Click Me</button>

然后将JavaScript代码放在与HTML文档相同的目录中名为main.js的文件中。将JavaScript代码完全分开的这一概念是非侵入式JavaScript的核心原则之一。

同样,CSS也应该放在单独的文件中,因此网页中唯一的代码是实际的HTML以及指向CSS和JavaScript文件的链接。这通常被认为是最佳实践,也是本书中将采用的方法。

自闭合标签

如果您使用过XML或XHTML,您可能遇到过这样的自闭合标签:

<button id='button'>Click Me</button>
<🎜>

这在HTML5中是不必要的,但它仍然可以工作。

优雅降级和渐进增强

优雅降级是构建网站的过程,使其在使用JavaScript的现代浏览器中运行效果最佳,但在旧版浏览器中或如果JavaScript或其某些功能不可用时,仍然可以以合理的标准运行。这方面的一个例子是高清(HD)广播的程序——它们在高清电视上运行效果最佳,但在标准电视上仍然可以运行;只是画面质量会较低。这些程序甚至可以在黑白电视上运行。

渐进增强是从头开始构建网页的过程,具有基本的功能级别,然后如果浏览器可用,则添加额外的增强功能。如果您遵循三层原则,JavaScript层增强网页而不是成为页面不可或缺的要素,那么这应该感觉很自然。一个例子可能是电话公司提供基本级别的电话呼叫,但如果您的电话支持,则提供呼叫等待和主叫号码显示等额外服务。

每当您向网页添加JavaScript时,都应该始终考虑您想要采取的方法。您是想从许多令人惊叹的效果开始,突破界限,然后确保对于那些可能没有最新和最棒浏览器的用户来说体验会优雅地降级?还是您想从构建可在大多数浏览器上运行的功能性网站开始,然后使用JavaScript增强体验?这两种方法相似,但细微之处有所不同。

你的第二个JavaScript程序

我们将用一个将在浏览器中运行的第二个JavaScript程序结束本章。此示例比前一个示例更复杂,其中包含许多将在后面章节中更详细介绍的概念,因此如果您在此阶段不了解所有内容,请不要担心!其目的是向您展示JavaScript的功能,并介绍将在即将到来的章节中介绍的一些重要概念。

我们将遵循前面提到的非侵入式JavaScript的实践,并将我们的JavaScript代码放在单独的文件中。首先创建一个名为rainbow的文件夹。在此文件夹中,创建一个名为rainbow.html的文件和另一个名为main.js的文件。

让我们从HTML开始。打开rainbow.html并输入以下代码:

console.log('Hello, World!');

Hello, World! Your First JavaScript Programs

(剩余部分与原文类似,只是对语言进行了调整和部分段落合并,保持了原文意思不变。)

不要破坏网络

JavaScript语言开发中的一个重要概念是它必须向后兼容。也就是说,所有旧代码在由运行新规范的引擎解释时必须以相同的方式工作(这有点像说PlayStation 4仍然必须能够运行为PlayStation 1、2和3创建的游戏)。这是为了防止JavaScript通过进行会使某些网站上的旧代码无法在现代浏览器中按预期运行的重大更改而“破坏网络”。

因此,新版本的JavaScript不能做以前版本的语言中不可能做的事情。变化的只是实现特定功能的表示法,以使其更易于编写。这被称为语法糖,因为它允许以更简洁和更简洁的方式编写现有的代码片段。

所有版本的JavaScript都向后兼容这一事实意味着我们可以使用转译器将代码从一个版本的JavaScript转换为另一个版本。例如,您可以使用最新的JavaScript版本编写代码,然后将其转译为版本5代码,该代码几乎可以在任何浏览器中运行。

每年都有一个新的ECMAScript版本,这意味着在实现最新功能方面,浏览器可能总是稍有落后(它们正在更快地做到这一点,但大多数浏览器仍然需要两年时间才能支持ES6模块)。这意味着如果您想使用最新的编码技术,您可能最终需要使用转译器(例如Babel)。

常见问题解答(FAQ)关于你的第一个JavaScript程序

(此部分内容与原文类似,只是对语言进行了调整,使之更流畅自然。)

以上是你好世界!您的第一个JavaScript程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在JavaScript中替换字符串字符在JavaScript中替换字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

8令人惊叹的jQuery页面布局插件8令人惊叹的jQuery页面布局插件Mar 06, 2025 am 12:48 AM

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

构建您自己的Ajax Web应用程序构建您自己的Ajax Web应用程序Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

10个JQuery Fun and Games插件10个JQuery Fun and Games插件Mar 08, 2025 am 12:42 AM

10款趣味横生的jQuery游戏插件,让您的网站更具吸引力,提升用户粘性!虽然Flash仍然是开发休闲网页游戏的最佳软件,但jQuery也能创造出令人惊喜的效果,虽然无法与纯动作Flash游戏媲美,但在某些情况下,您也能在浏览器中获得意想不到的乐趣。 jQuery井字棋游戏 游戏编程的“Hello world”,现在有了jQuery版本。 源码 jQuery疯狂填词游戏 这是一个填空游戏,由于不知道单词的上下文,可能会产生一些古怪的结果。 源码 jQuery扫雷游戏

如何创建和发布自己的JavaScript库?如何创建和发布自己的JavaScript库?Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

使用AJAX动态加载盒内容使用AJAX动态加载盒内容Mar 06, 2025 am 01:07 AM

本教程演示了创建通过Ajax加载的动态页面框,从而可以即时刷新,而无需全页重新加载。 它利用jQuery和JavaScript。将其视为自定义的Facebook式内容框加载程序。 关键概念: Ajax和JQuery

jQuery视差教程 - 动画标题背景jQuery视差教程 - 动画标题背景Mar 08, 2025 am 12:39 AM

本教程演示了如何使用jQuery创建迷人的视差背景效果。 我们将构建一个带有分层图像的标题横幅,从而创造出令人惊叹的视觉深度。 更新的插件可与JQuery 1.6.4及更高版本一起使用。 下载

如何为JavaScript编写无曲奇会话库如何为JavaScript编写无曲奇会话库Mar 06, 2025 am 01:18 AM

此JavaScript库利用窗口。名称属性可以管理会话数据,而无需依赖cookie。 它为浏览器中存储和检索会话变量提供了强大的解决方案。 库提供了三种核心方法:会话

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。