在页面上我声明了一个js变量,包括js文件似乎无法访问它?

Bla*_*man 1 javascript jquery

 <script type="text/javascript">
        $(document).ready(function () { 
            var SOME_ID= 234;

        });

    </script>
<script type="text/javascript" src="<%= HtmlExtension.ScriptFile("~/somefile.js") %>"></script>
Run Code Online (Sandbox Code Playgroud)

.js文件只使用SOME_ID值,但是我收到一条错误,说没有定义SOME_ID.

这不应该在理论上起作用吗?

T.J*_*der 6

您已在匿名函数中声明了一个局部变量.如果您希望它是全局变量,请window.SOME_ID = 234;改为使用,或将其移出匿名函数.

例如,要么:

<script type="text/javascript">
    $(document).ready(function () { 
        window.SOME_ID= 234;

    });
</script>
Run Code Online (Sandbox Code Playgroud)

要么

<script type="text/javascript">
    var SOME_ID= 234;
    $(document).ready(function () { 

    });
</script>
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,外部文件都可以访问它SOME_ID(非限定)或window.SOME_ID,因为全局变量是全局对象的属性(window在浏览器上).