[英]Issue while defining jQuery functions
嘗試定義幾個函數,如下所示:
user = (function() {
var friends_list = (function() {
$.get('/ajax/user/friends_list', function(data) {
......
因此,稍后我可以在需要時像user.friends_list()
那樣調用它們,但就目前而言,我唯一得到的是以下錯誤:
TypeError: Object function () {
var friends_list = (function() {
$.get(....
我只是不知道還能去哪里,有什么建議嗎?
您需要將用戶創建為一個對象,在您的情況下, friends_list
是一個關閉方法,它將在函數外部可用
user = {
friends_list : function(){
....
}
}
使用戶對象而不起作用
var user = {
friends_list : function(){
$.get('/ajax/user/friends_list', function(data) {
......
}
}
並稱它為.. user.friends_list()
您在此處使用閉包,因此在user
外部看不到friend_list
。
如果要使用閉包來隱藏一些變量,則導出friend_list
最佳方法是:
(function(){
var somePrivateVariable;
window.user = {};
window.user.friend_list = function() {
// make use of somePrivateVariable...
};
})();
user = function() {
this.friends_list = function() {
$.get('/ajax/user/friends_list', function(data) {
......
});
};
return this;
};
以上也應該起作用。 參考http://www.w3schools.com/js/js_objects.asp
您可以查看此鏈接
這是代碼:
var global = {};
global.sayHello = function (x){
//do your code here
console.log('Hello ' + x );
};
global.sayHello('Kevin');
user = new function(){
var private_variable;
function private_method(){}
this.global_variable = '';
this.global_method = function(){};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.