JavaScript不支持全局变量?

zhangwuji154 2011-02-22 10:28:04
[code=JScrip]t<script type="text/javascript">
function initialize() {

var MapPanel = document.getElementById("MapPanel");
……
}[/code]

这样写就可以得到MapPanel


[code=JScrip]t<script type="text/javascript">
var MapPanel = document.getElementById("MapPanel");
function initialize() {

……
}[/code]

这样写,MapPanel 就是null。"MapPanel"是个div。
因为下面的函数也需要它,所以我就写到外边了。
...全文
183 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwuji154 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 guoliang2010 的回复:]

因为 在执行这个js代码的时候 div还是找不到的,你可以将这段代码放入 onload 或者 函数中 即可
[/Quote]
正解
lfkcn 2011-02-22
  • 打赏
  • 举报
回复
变量放在最上面就行了
HSBOY86 2011-02-22
  • 打赏
  • 举报
回复
#3,#7的己经解决你的问题了
BlueSky4014 2011-02-22
  • 打赏
  • 举报
回复
var MapPanel = document.getElementById("MapPanel");
function initialize() {

……
}

==>
var MapPanel = null
function initialize() {
MapPanel = document.getElementById("MapPanel");

……
}


也可以这样!
knightzhuwei 2011-02-22
  • 打赏
  • 举报
回复
<input/>t//moretest
knightzhuwei 2011-02-22
  • 打赏
  • 举报
回复
t//test
knightzhuwei 2011-02-22
  • 打赏
  • 举报
回复
[code=JScrip]t//test[/code]
BlueSky4014 2011-02-22
  • 打赏
  • 举报
回复
这要看你抱这段JS放在什么位置了。
HTML Javascript 在浏览器中是自上而下顺序执行,
你可以测试下试试。
zhangwuji154 2011-02-22
  • 打赏
  • 举报
回复
晕死,每次为什么把t自动跳到]外边了
还是直接发问题吧。


<script type="text/javascript">
function initialize() {

var MapPanel = document.getElementById("MapPanel");
……
}
这样写就可以得到MapPanel

<script type="text/javascript">
var MapPanel = document.getElementById("MapPanel");
function initialize() {

……
}

这样写,MapPanel 就是null。"MapPanel"是个div。
因为下面的函数也需要它,所以我就写到外边了。
zhangwuji154 2011-02-22
  • 打赏
  • 举报
回复
CSDN的bug……,把代码包起来那个发生错误了了,重发


[code=JScrip]t <script type="text/javascript">
function initialize() {

var MapPanel = document.getElementById("MapPanel");
……
}[/code]

这样写就可以得到MapPanel


[code=JScrip]t <script type="text/javascript">
var MapPanel = document.getElementById("MapPanel");
function initialize() {

……
}[/code]
linkdai 2011-02-22
  • 打赏
  • 举报
回复
脚本放在文档最下面写 或者
放入 onload 或者
函数中
hongmei85 2011-02-22
  • 打赏
  • 举报
回复
试试这样
<script type="text/javascript"> 
var MapPanel;
function initialize() {
MapPanel = document.getElementById("MapPanel");
……
}
guoliang2010 2011-02-22
  • 打赏
  • 举报
回复
因为 在执行这个js代码的时候 div还是找不到的,你可以将这段代码放入 onload 或者 函数中 即可
浴火_凤凰 2011-02-22
  • 打赏
  • 举报
回复
楼主你这个标题太给力了!!!
var MapPanel = document.getElementById("MapPanel");
放外边立即执行,仿函数里等到函数被调用的时候才执行
估计是你放的时机不对。
马老虎 2011-02-22
  • 打赏
  • 举报
回复


//啊?

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧