我遇到了一个问题:
var page = document.getElementById('example');
var p1_box = {
x: 20,
y: 20,
width: 560,
height: 400
};
page.innerHTML = (p1_box.x);
使用上面的代码时,页面会显示20,但是当我使用此代码时:
var page = document.getElementById('example');
var p1_box = {
x: 20,
y: 20,
width: 560,
height: 400
};
function test(){
page.innerHTML = (p1_box.x);
}
(然后运行测试功能) 它没有用。我反而得到了这个错误(在Chrome开发者控制台中:):
谁知道我做错了什么?据我所知,这段代码没有任何问题,但是当我被展示时,它没有用。未捕获的TypeError:无法读取属性' x'未定义的
[我包含了'范围'标记这个问题,因为我认为它可能与那个问题有关]
编辑: 我不愿意提供完整的代码,但似乎我会。 问题可能在于它目前的混乱程度。 我从我制作JavaScript的游戏中复制了代码并正在创建一个新代码。 因此,如果您想知道为什么这么多代码被注释掉,那就是原因。 希望有了这个问题就会变得明显。
首先关闭:这里是加载的网页: http://oldforgeinn.ddns.net/games/?game=battleship 这是源代码: http://oldforgeinn.ddns.net/scripts/SO_file.js
提醒一下,上面的代码块是示例,函数/变量名称与我的代码中的实际名称不匹配。
在这种情况下,test()将表示draw_gui()函数,而页面变量并不重要,因为这个问题的重点是x未定义的原因,而innerHTML部分只是为了明确确认。
答案 0 :(得分:4)
该代码工作正常。在其余代码中,您必须有其他错误。这是其中的一小部分工作:
var page = document.getElementById('example');
var p1_box = {
x: 20,
y: 20,
width: 560,
height: 400
};
function test(){
page.innerHTML = (p1_box.x);
}
test();

<div id="example"></div>
&#13;