飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

JavaScript代码结构

时间:2021-11-24  作者:匿名  

我们将研究的第一件事是代码的构建块。

声明

语句是执行操作的语法结构和命令。

我们已经看到了一个语句,alert('Hello, world!'),它显示了消息“Hello, world!”。

我们可以根据需要在代码中包含任意数量的语句。语句可以用分号分隔。

例如,这里我们将“Hello World”拆分为两个弹出框提示:

alert('Hello'); alert('World');

通常,语句写在单独的行上以使代码更具可读性:

alert('Hello');
alert('World');

分号

当存在换行符时,在大多数情况下可以省略分号。

这也可以:

alert('Hello')
alert('World')

在这里,JavaScript 将换行符解释为“隐式”分号。这称为自动分号插入。

在大多数情况下,换行符意味着分号。但是“在大多数情况下”并不意味着“总是”!

在某些情况下,换行符并不意味着分号。例如:

alert(3 +
1
+ 2);

代码输出6是因为 JavaScript 没有在这里插入分号。直观上很明显,如果该行以加号结尾"+",那么它是一个“不完整的表达式”,所以分号是不正确的。在这种情况下,它按预期工作。

但在某些情况下,JavaScript “未能”在真正需要的地方使用分号。

在这种情况下发生的错误很难找到和修复。

错误示例

如果您想查看此类错误的具体示例,请查看以下代码:

alert("Hello");

[1, 2].forEach(alert);

没有必要去想括号的含义[]和forEach呢。我们稍后会研究它们。现在,只需记住运行代码的结果:它显示Hello,然后1,然后2。

现在让我们删除 之后的分号alert:

alert("Hello")
[1, 2].forEach(alert);

与上面的代码相比只有一个字符的区别:第一行末尾的分号不见了。

如果我们运行这段代码,只有第一个Hello显示(并且有错误,您可能需要打开控制台才能看到它)。已经没有数字了。

那是因为 JavaScript 在方括号之前不假设有分号[...]。因此,最后一个示例中的代码被视为单个语句。

这是引擎如何看待它:

alert("Hello")[1, 2].forEach(alert);

看起来很奇怪,对吧?这种情况下的合并是错误的。我们需要alert在代码后面加上一个分号才能正常工作。

这也可能发生在其他情况下。

我们建议在语句之间放置分号,即使它们被换行符分隔。这条规则被社区广泛采用。让我们再次注意——大多数时候可以省略分号。但使用它们更安全——尤其是对于初学者而言。

注释

随着时间的推移,程序变得越来越复杂。有必要添加注释来描述代码的作用和原因。

注释可以放在脚本的任何位置。它们不会影响其执行,因为引擎只是忽略它们。

一行注释以两个正斜杠字符开头//。

该行的其余部分是注释。它可能占据自己的整行或跟随一个陈述。

像这儿:

// This comment occupies a line of its own
alert('Hello');
alert('World'); // This comment follows the statement

多行注释以正斜杠和星号开头,以星/*号和正斜杠结尾*/。

像这样:

/* An example with two messages.
This is a multiline comment.
*/
alert('Hello');
alert('World');

注释的内容被忽略了,所以如果我们把代码放在里面/* … */,它就不会执行。

有时暂时禁用部分代码会很方便:

/* Commenting out the code
alert('Hello');
*/
alert('World');

使用热键!

在大多数编辑器中,可以通过按单行注释的热键和诸如– 多行注释的热键来注释掉一行代码(选择一段代码并按热键)。对于 Mac,请尝试代替和代替。Ctrl+/Ctrl+Shift+/CmdCtrlOptionShift

不支持嵌套注释!

/*...*/里面可能没有另一个/*...*/。

这样的代码会因错误而停止运行:

/*
  /* nested comment ?!? */
*/
alert( 'World' );
搜你所爱
JavaScript:目录
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。