首页 新闻 赞助 找找看

调试js时报错提示:变量未定义。

0
悬赏园豆:5 [已解决问题] 解决于 2016-09-06 14:45

以下为html界面;

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>用户管理</title>
    <link href="../../Css/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
    <link href="../../Css/common.css" rel="stylesheet" />
    <link href="../../Css/jqGrid/ui.jqgrid.css" rel="stylesheet" />

    <script src="../../Scripts/jquery.js"></script>
    <script src="../../Scripts/jquery-ui.min.js"></script>
    <script src="../../Scripts/operatecookie.js"></script>
    <script src="../../Scripts/jqGrid/jquery.jqGrid.js"></script>
    <script src="../../Scripts/jquery.json.js"></script>
    <script src="../../Scripts/jqGrid/js/i18n/grid.locale-cn.js"></script>
    <script src="../../Scripts/jqGrid/js/minified/jquery.jqGrid.min.js"></script>
    <script src="../../Scripts/UserControl.js"></script>//此处已经引用了脚本;

    <script type="text/javascript">
        $(function () {
            $("#tabs").tabs().addClass("ui-tabs-vertical ui-helper-clearfix");
            $("#tabs li").removeClass("ui-corner-top").addClass("ui-corner-left");

            $("#tabs").tabs({
                activate: function (event, ui) {
                    UserControl.resize($(document).width() - 150,               $(document).height());
                }
            });
            UserControl.init(); //运行到这句时提示:UserControl未定义但可以转到init()方法;
        });
    </script>
    <style type="text/css">
        html, body {
            width: 100%;
            height: 100%;
            margin: 0px;
            padding: 0px;
            min-width: 1300px;
            overflow: hidden;
        }
    </style>
</head>
<body class="background">
    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">微信用户管理</a></li>
        </ul>
         <div id="tabs-1">
             <div class="WXUserControl">
                <table id="WXGrid"></table>
                <div id="WXGridPager"></div>
            </div>
        </div>
    </div>
</body>
</html>

以下为UserControl.js脚本;

(function(){

 window.UserControl = {  //定义的全局变量UserControl;但是html文件中提示未定义;
        init: function () {
            var a = "a";
        }
    };

})();

< >
分享
最佳答案
0

放到$(function () {}) 里面试试

收获园豆:5
千里之行、始于足下 | 初学一级 |园豆:117 | 2016-09-06 14:05

 那不就在那里么?

顾晓北 | 园豆:10844 (专家六级) | 2016-09-06 14:26
其他回答(1)
0

已经解决了,html里调用完全正确,问题出在js脚本里,由于js脚本代码量较大,我没有全部贴出来,问题就在没贴出来的那部分。

我总结了一下:在变量及方法转不到定义或者是提示未定义的时候,在排查调用没有出现问题的前提下,下一步就要仔细检查js脚本里的代码写的是否正确了。

就像我刚才遇到的这个问题,原因就是js中在某一行的结尾多了一个“,”(逗号)。编译器编译完全通过。

这个逗号导致我浪费了一上午的时间。

细节决定成败啊。。。

我叫我是王无敌 | 园豆:115 (初学一级) | 2016-09-06 14:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册