尝试定义几个这样的函数:
user = (function() {
var friends_list = (function() {
$.get('/ajax/user/friends_list', function(data) {
......
所以我稍后可以在需要时调用它们user.friends_list()
,但就目前而言,我唯一得到的是以下错误:
TypeError: Object function () {
var friends_list = (function() {
$.get(....
我只是不知道在哪里看,有什么建议吗?
答案 0 :(得分:2)
你需要创建用户作为一个对象,在你的情况下friends_list
是一个闭包方法,它将在函数之外可用
user = {
friends_list : function(){
....
}
}
答案 1 :(得分:1)
制作用户对象而不是功能
var user = {
friends_list : function(){
$.get('/ajax/user/friends_list', function(data) {
......
}
}
并将其称为.. user.friends_list()
答案 2 :(得分:1)
您在这里使用了一个闭包,因此friend_list
的外部user
是不可见的。
如果你想使用闭包,隐藏一些变量,导出friend_list
的最佳方法是:
(function(){
var somePrivateVariable;
window.user = {};
window.user.friend_list = function() {
// make use of somePrivateVariable...
};
})();
答案 3 :(得分:1)
user = function() {
this.friends_list = function() {
$.get('/ajax/user/friends_list', function(data) {
......
});
};
return this;
};
以上也应该有效。 参考http://www.w3schools.com/js/js_objects.asp
答案 4 :(得分:0)
您可以查看此link
以下是代码:
var global = {};
global.sayHello = function (x){
//do your code here
console.log('Hello ' + x );
};
global.sayHello('Kevin');
答案 5 :(得分:0)
user = new function(){
var private_variable;
function private_method(){}
this.global_variable = '';
this.global_method = function(){};
}