除了JS,其他语言是否按加载顺序执行代码

Apart from JS, do other languages execute code in order of loading?

本文关键字:加载 顺序 执行 代码 是否 JS 其他 语言 除了      更新时间:2023-09-26

很多人(像我一样)习惯于JavaScript,因为代码是按照加载顺序执行的,即从上到下,所以如果一个元素还没有加载,就不可能操作它,或者如果一个函数还没有被定义,就不可能调用它。由于JS(和VBscript,但不太流行)是唯一的互联网客户端编程(脚本,如果你愿意的话)语言,因此是唯一遇到必须从不同位置加载问题的语言,我假设没有其他语言这样做,即可以调用语言中的函数/方法, 同时在文档后面对其进行定义。这个假设是否正确,还是还有其他语言也这样做?

编辑:对于那些不明白我的意思的人,这里有一个Java的例子:

public class MainClass {
    public static void main(String[] args) {
        SomeClass SomeObject = new SomeClass;
        SomeObject.changeSomeVariable("someValue");
    }
}
class SomeClass {
    String someVariable;
    void changeSomeVariable(newValue){
        someVariable = newValue;
    }
}

请注意定义对象的类如何跟随创建对象的行。上述方法会起作用吗(我可能语法有点错误)?

例如,在C++(编译语言)中,您可以使用类或函数,而只知道其定义,而不知道其实现。

int some_function(int i); 
// we know the name of the function, the types of its parameters and
// its return value. We don't know, however, what does this function 
// exactly do.
int main() {
  int x = some_function(42);
}

当然,函数的实现必须放在某个地方,否则链接将失败。

但是,如果我们不知道函数或类的名称或签名,我们就无法使用它。与编译语言相反,在脚本语言(如Python,PHP,JavaScript等)中,您可以做到这一点:

function f() {
  return some_function(42);
}

即使没有定义some_function,也可以毫无错误地创建此 JavaScript 函数。但它必须在调用f()时定义。

我们可以谈论和谈论相对于某些语言的这些事实。但是有很多语言,它们都是不同的。如果你对这个问题感到好奇,我可以建议你学习其他几种语言(至少一种编译语言和一种功能语言)。

许多脚本语言(如 PHP 和 Ruby)按顺序执行。

这是脚本语言的租户。