如何从另一个javascript访问HTML5中的javascript

如何从另一个javascript访问HTML5中的javascript,javascript,scope,Javascript,Scope,我想知道我是否可以在同一个HTML文件中访问一个或多个单独的变量。下面的代码给出了一个我正在尝试做的示例。虽然这根本不起作用,但看看我想做什么应该会有帮助 <script type="text/javascript" id="script1"> otherScript = document.getElementById("script2") number1=otherScript.someNumber </script> <script type

我想知道我是否可以在同一个HTML文件中访问一个或多个单独的变量。下面的代码给出了一个我正在尝试做的示例。虽然这根本不起作用,但看看我想做什么应该会有帮助

<script type="text/javascript" id="script1">
    otherScript = document.getElementById("script2")
    number1=otherScript.someNumber
</script>


<script type="text/javascript" id="script2">
    someNumber=7
</script>
请阅读一个节目的开头。两个脚本位于同一页上,并共享相同的全局范围。您可以从脚本块21访问某个数字,但不能从脚本块1访问`您编写它的方式:

作用域从解析脚本块1开始。脚本块2目前不存在

一个例子来帮助你进一步

<script type="text/javascript" id="script1">
    number1=someNumber; //this will generate an error;
    function alertNumber()
    {
        //this isn't executed directly because it's a function. 
        //We call upon it later in script block 2.
        alert(someNumber); //this will work.
    }
</script>


<script type="text/javascript" id="script2">
    someNumber=7;

    alertNumber(); // alertNumber exists since script block 1 is parsed.
</script>
正如您所看到的,文档的流程是自上而下的。在调用同一作用域中的对象之前,需要先声明它们。在您的代码中,还没有声明某个数字


关于作用域的一个好页面也在这一点上。

在HTML中使用的脚本标记与javascript的作用域或模块化方式无关。除非为代码显式创建模块对象,否则两个标记中的javascript都将在全局范围内。因此,大多数客户端javascript libs将向公共API公开一个全局访问器$,,μ,angular,ko。