我想创建一些具有很少功能的 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/