<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>
测试页面的内容:
<body>
<script>
var c=a();
alert(c());
</script>
</body>
把1.js导入进来就可以了
这个问题硬是怪的很,现在试又偏偏可以,真不知是什么鬼。谢谢各位!