【问题标题】:What precisely is a construct in JavaScript?JavaScript 中的构造究竟是什么?
【发布时间】:2012-09-03 05:30:28
【问题描述】:

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

例如,在“类似问题”中,我看到指向具有以下代码示例的链接:

What is this construct in javascript?:

(function () {

})();

据我了解,这是一个构造,但它们是由什么定义的?

【问题讨论】:

  • @dbaseman,请仔细阅读问题
  • @smartcaveman 谢谢,你是对的。
  • @u1sonderzug,你还有什么困惑吗?

标签: javascript anonymous-function execution language-construct


【解决方案1】:

构造是一个通用术语,指的是特定形式的任意代码集合。它不是特定于 javascript 的术语。

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

【讨论】:

  • 在 JavaScript 中,可以说任何以 ; 结尾的东西都可以吗?是构造吗?直到 ; ?
  • 任何事物都是一种构造。关键字是一种构造。值文字是一种构造。分号不是必需的。你想多了。
  • 但是如果 var x = "hello world";是一个构造,根据您所说的“任何事物都是构造”,这是否意味着“x”或只是“世界”是构造?它不是以某种方式引用了一行代码吗?我知道这可能听起来很荒谬 - 但我真的不是 100% 清楚。
  • 是的。 x 是一个变量。 “世界”是一个字符串文字。变量和字符串文字都是 javascript 中的构造。用 javascript 定义的构造与您在标准英语词典中找到的定义相同
  • “声明”是指以;结尾的语言结构。
【解决方案2】:

"language construct" 是您要查找的完整术语。根据链接定义:

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

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

【讨论】:

  • “这是对诸如...之类的词的概括”这就是为什么这对我来说是赢家。清楚地表明“构造”是一个元概念,而不是一种编码模式。
【解决方案3】:

来自 Deborah 和 Eric Ray 在MASTERING HTML4 中的脚本参考:

构造是可以在 JavaScript 中用于控制脚本流程的结构

他们继续按字母顺序列出所有此类控件,包括 Break、Comment、If、If else.... 所以 construct 是 JavaScript 中一个非常具体的术语定义,用于命名和包含控制脚本流程的所有语句(结构)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2014-10-28
    • 2012-08-27
    • 2010-11-12
    • 2011-03-18
    相关资源
    最近更新 更多