簡體   English   中英

在頁面上我聲明了一個js變量,include js文件似乎無法訪問它?

[英]On page I declared a js variable, include js file can't seem to access it?

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

        });

    </script>
<script type="text/javascript" src="<%= HtmlExtension.ScriptFile("~/somefile.js") %>"></script>

.js文件僅使用SOME_ID值,但是我收到一條錯誤消息,提示未定義SOME_ID。

這不應該在理論上起作用嗎?

您已經在匿名函數中聲明了局部變量。 如果要使其成為全局變量,請使用window.SOME_ID = 234; 而是將其移出匿名函數。

例如:

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

    });
</script>

要么

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

    });
</script>

無論哪種方式 ,外部文件都可以使用SOME_ID (未限定)或SOME_ID window.SOME_ID ,因為全局變量是全局對象(在瀏覽器中是window )的屬性。

您已在匿名函數內聲明了局部變量,該匿名變量僅可在此函數內訪問。 您需要在外部聲明它:

var SOME_ID = 0;
$(function () { 
    SOME_ID = 234;
});

您的變量在匿名函數的作用域內定義。 將其移出就緒處理程序之外,它應該可以工作。

此變量的作用域是傳遞給ready方法的函數表達式(FE)-在此范圍之外將不可用。

如果希望其他腳本能夠訪問它,則需要使var為全局變量:

var SOME_ID;
$(document).ready(function () { 
   SOME_ID = 234;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM