![](/img/trans.png)
[英]Can I access a variable I declared in a js file in different js file
[英]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.