我正在尝试实现类似以下的内容,但不知道什么是错的:
$.a = function() {
// some logic here
function abc(id) {
alert('test'+id);
}
}
$.a.abc('1');
我尝试使用return函数,但这似乎也无效。有人可以帮忙。
感谢您的时间。
答案 0 :(得分:9)
由于$.a
必须是一个函数,因此您必须将abc
函数作为属性添加到$.a
函数中:
$.a = function () {
// some logic here...
};
$.a.abc = function (id) {
alert('test' + id);
};
如果必须在abc
函数中定义$.a
,则可以执行以下操作。请注意,在使用此方法调用$.a.abc
之前,$.a
将无法使用!在调用函数之前,函数内部不会被计算。
$.a = function () {
// Do some logic here...
// Add abc as a property to the currently calling function ($.a)
arguments.callee.abc = function (id) {
alert('test' + id);
};
};
$.a();
$.a.abc('1');
答案 1 :(得分:1)
$.a = (function(){
var a = function() {
//...
};
a.abc = function() {
//...
}
return a;
})();