脚本标记之间的JavaScript函数范围

IAm*_*aja 6 html javascript jsp

我有两个不同的JSP,Java后端连接在一起并发送回相同的呈现HTML页面.

每个JSP都有自己的<script>块,并在该块内定义函数:

JSP#1:

<script type="text/javascript">
    function blah() { ... }
</script>
Run Code Online (Sandbox Code Playgroud)

JSP#2

<script type="text/javascript">
    function foo()
    {
        blah();
    }
</script>
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,后端将这些添加到HTTP响应中,并在同一请求期间将它们发送回浏览器.

当我在浏览器中运行此页面时,我可以立即告诉他们blah()foo()被调用时没有执行.我看到Firebug中的控制台错误blah()没有定义.我想知道是否blah()只有范围在自己的<script>标签内,同样适用于foo().这是这种情况,还是其他问题呢?

当我去查看页面源时,我看到了两个脚本块和两个函数.这告诉我服务器端正在生成/呈现所有内容,但也许我的方法本质上是错误的(定义不同脚本标记内的函数).提前致谢.

Jos*_*eph 5

所有这些都是全球性的.他们可以看到对方.问题是当他们被定义并互相呼叫时.

你应该按照这个顺序定义和调用它们:

  1. 酒吧
  2. FOO
  3. 打电话给foo
    • foo执行并调用吧
    • 栏被执行