JavaScript 返回函数

标签 javascript jquery

我想创建一些具有很少功能的 javascript 对象,但出现异常

undefined is not a function

JS:

 var Buses = null;
 $(function () {
        Buses = function() {
            return {
                Test: function () {
                    console.log('test public function');
                }
            }
        }
 });

HTML:

<button onclick="Buses.Test()">test</button>
<script type="text/javascript" src="js/buses.js" ></script>

出了什么问题?

最佳答案

您的 Buses 变量是一个返回函数的函数,因此在 HTML 中必须像这样调用它

<button onclick="Buses().Test()">test</button>

当您使用 jQuery 时,更好的解决方案是为按钮指定一个 ,然后在 javascript 中分配点击处理程序:

var Buses = null;
$(function () {
    Buses = function() {
        return {
            Test: function () {
                alert('test public function');
            }
        }
    }

    $("#button").click(function() {Buses().Test()});
});

这是 fiddle http://jsfiddle.net/fe5hxo60/

关于JavaScript 返回函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25708645/

相关文章:

javascript - 使用 Youtube Player IFrame API 将视频添加到播放列表

javascript - 删除重复项并按最常见的标签对数组进行排序

javascript - 我怎样才能发现浏览器现在已经退出了

javascript - 有没有办法根据jquery中克隆元素的更改来更新clone()源?

javascript - 使用 jQuery.extend 并将自定义对象作为属性时出现意外行为

javascript - Jquery Sliding Div 只工作一次

javascript - PHP 未定义偏移量 2

javascript 获取已渲染的 Mongo 字段的值 - Meteor

jquery - 检测页面何时被访问更改图像

javascript - 如何使用 jquery 在 (,) 拆分后随机更改文本的颜色