JavaScript中的构造究竟是什么?

fak*_*ood 6 javascript anonymous-function language-construct execution

当我学习JavaScript时,我一直在浏览网页,并在Javascript中看到了许多对构造的引用,但我似乎无法找到它们是什么以及它们不是什么的完整定义,尤其是在Javascript的上下文中.

例如,在"类似问题"中,我看到的链接导致了一个包含以下代码的示例:

javascript中这是什么构造?:

(function () {

})();
Run Code Online (Sandbox Code Playgroud)

据我所知,这是一个构造,但它们定义的是什么?

sma*_*man 11

构造是一个通用术语,指的是特定构造中的任意代码集合.它不是特定于JavaScript的术语.

基本上,它可以适用于任何事物.因此,虽然您引用的代码是一个称为自调用匿名函数var x = "hello world";的构造,但它是一个称为变量声明和赋值的构造.


Ben*_*n J 6

语言构造是您要查找的完整术语。根据链接的定义:

语言构造是程序的语法上允许的部分,可以根据编程语言的规则由一个或多个词汇标记形成。

因此,它是遵循语言规则的任何有效的书面代码片段。它是“表达式”、“语句”、“函数参数列表”、“赋值语句”、“关键字”、“函数定义”等单词的概括,每个单词定义了一系列要查找的标记以及它们将要查找的内容语言规则中的意思。完整程序的代码是用它们构建的。