页面引入的js 文件中定义了一个全局变量,但再页面的script 中使用时提示undefined

<script type="text/javascript">
    console.log("进入quit页面");
    //$(document).ready(function(){
        localStorage.removeItem('edmin_temp');
        var outTime = localStorage.getItem('edmin_outTime');
        if(!outTime || outTime==1){ localStorage.setItem('edmin_outTime',1); outTime=1;} 
        var mainUrl  = window.location.hostname;
        alert("根为:"+root);

        最后一句,提示Uncaught ReferenceError: root is not defined 错误
全局变量在哪定义的,一种是在function外用var定义的;
    使用var()关键字)+变量名(标识符)的方式在function外部声明,
    还有一种是不用var隐式声明的,
    还有一种是window全局对象声明的
不过,一般最好别用全局变量,查错不方便,代码可读性也很低

恩,你这里代码比较少,不太好判断你的问题出在哪里,建议你把你代码声明那一块也贴出来,再然后就是建议你尽量少写全局变量,尽量存在一个对象身上

你是不是把引入的JS文件放到了 代码块的后面了啊</p>

你的root是在哪里定义的?

 <script type="text/javascript" src="resource/js/config.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            localStorage.removeItem('edmin_temp');
            var outTime = localStorage.getItem('edmin_outTime');
            if(!outTime || outTime==1){ localStorage.setItem('edmin_outTime',1); outTime=1;} 
            if(root == undefined){
                alert("quit.jsp中root为undefined,说明config.js还未加载完成便执行了$.ready");
            }
            ...
            </script>

root 在config.js 中定义的:

 var root        = window.location.hostname;        

1.js中内容如下:function a(){
var root= "222";
function b(){
return parseInt(root);
}
return b;
};
测试页面内容如下:
<!DOCTYPE html>



测试页面



<br> var c=a();<br> alert(c());<br>


不懂得话可以查查闭包的知识。希望能帮到你

测试页面的内容:

        <body>
            <script>
                var c=a();
                alert(c());
            </script>
        </body>

把1.js导入进来就可以了

这个问题硬是怪的很,现在试又偏偏可以,真不知是什么鬼。谢谢各位!