javascript 全局变量的值和alert

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:20:00
<script type="text/javascript">
var Imagin="images/1.jpg";
var imgPanel = new imgPanel('imgPanel',269,200,10,10);
PageMethods.IsLogID("1",Show_Result);
imgPanel.add(new imgBook('imgBook_1','1',Imagin,'http://www.baidu.com','图片一'));
imgPanel.write();
autoChangeImg();
function Show_Result(res)
{
Imagin=res;
}
</script>
如上代码,我通过PageMethods调用IsLogID函数,但会值赋值给Imagin,但是总是load不出来,不过我在调用IsLogID的script后如果alert(Image),就能load出他的值,虽然会弹出对话框Undefined,不知道为什么?请知道的指点

有可能是网页未加载完的原因,当网页未加载完时,会有部分脚本执行不能产生效果,但用alert延时之后就可行了。

可以改为:
<script type="text/javascript">
window.onload = function(){
var Imagin="images/1.jpg";
var imgPanel = new imgPanel('imgPanel',269,200,10,10);
PageMethods.IsLogID("1",Show_Result);
imgPanel.add(new imgBook('imgBook_1','1',Imagin,'http://www.baidu.com','图片一'));
imgPanel.write();
autoChangeImg();
}
function Show_Result(res)
{
Imagin=res;
}
</script>

试试。

一般来说,变量和函数的命名都是第一个字母小写,接下来的每个单词首字母大写,也就是用骆驼拼写法,但是你的命名很奇怪
还有undefined是小写的,为什么会变大写的?
Image是一个类,alert的话,应该是[object Image],为什么是undefined呢?

可能是时间同步的问题,你加了alert之后js执行速度降下来了。取图的过程是需要占用一定时间的。你可以加一个settimeout试试。