Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在onload事件上创建的对象的Javascript范围_Javascript_Events_Scope - Fatal编程技术网

在onload事件上创建的对象的Javascript范围

在onload事件上创建的对象的Javascript范围,javascript,events,scope,Javascript,Events,Scope,我有一个在body onload事件中创建的对象: <body onload="var clock = new Clock(<?php echo $user->timezone ?>); clock.start();"> 当我试图在页面上进一步引用它时,让我们这样说: <div id="month" onclick="alert(clock.time());"></div> 它将给出未声明函数的错误。。我错过什么了吗 ps:我真的不想在j

我有一个在body onload事件中创建的对象:

<body onload="var clock = new Clock(<?php echo $user->timezone ?>); clock.start();">
当我试图在页面上进一步引用它时,让我们这样说:

<div id="month" onclick="alert(clock.time());"></div>
它将给出未声明函数的错误。。我错过什么了吗


ps:我真的不想在javascript文件的其他地方实例化该对象,因为clock从PHP获取了几个参数。

您的onload代码放在绑定到window.onload的函数中。因此,var时钟会创建一个在该函数之外无法访问的局部变量。如果您需要全局时钟,则执行window.clock=新时钟。。。而是内联事件处理程序中的.Scope。只是