Javascript 单击时未定义的对象

Javascript 单击时未定义的对象,javascript,Javascript,我试图在单击按钮时调用实用程序对象的成员函数。包含该对象的js文件加载在index.php页面的顶部: <script type="text/javascript" src="js/utilities.js"></script> ... 但我很好奇,为什么如果我重新加载页面,它可以调用anon函数。这告诉我Utilities对象显然是在页面加载时加载的: var Utilities = { doThis : (function() { conso

我试图在单击按钮时调用实用程序对象的成员函数。包含该对象的js文件加载在
index.php
页面的顶部:

<script type="text/javascript" src="js/utilities.js"></script>
...
但我很好奇,为什么如果我重新加载页面,它可以调用anon函数。这告诉我Utilities对象显然是在页面加载时加载的:

var Utilities = {
    doThis : (function() {
        console.log("Utilities object loaded"); //runs just fine
    })(),

因此,如果对象加载在
index.php
页面的顶部,为什么
onclick
会告诉我对象未定义?

在javascript中,您正在设置
实用程序
,但onclick引用的是
实用程序
。缺少一个
i

是否确定可以在全局范围内访问
实用程序
?也许可以尝试
window.Utilities
而不是
var Utilities
。没有足够的信息给出答案,但是Utilities.js是否在窗口中放置了对Utilities的引用?那么窗户,公用设施?似乎是您遇到的JavaScript关闭问题。@Growler碰巧遇到了他们中最好的一个。:)我发现使用一个突出显示未声明变量的IDE可以帮助减少这种情况。或尽可能多地复制/粘贴。
var Utilities = {
     loadSavedGames : function () {
        console.log("Clicked"); //returns Utilties is not defined
     },...
var Utilities = {
    doThis : (function() {
        console.log("Utilities object loaded"); //runs just fine
    })(),