我想弄清楚別人的代碼。它由Javascript編寫。我對Jquery更加熟悉。這些代碼是什麼意思?
我知道這是一個函數,但不知道這些參數(imaglist,sucess,hobject)。謝謝您的幫助。
var mystuff = new Object();
var all_done = function (imagelist,success,hobject){
//alert(success);
mystuff = imagelist.list;
}
我想弄清楚別人的代碼。它由Javascript編寫。我對Jquery更加熟悉。這些代碼是什麼意思?
我知道這是一個函數,但不知道這些參數(imaglist,sucess,hobject)。謝謝您的幫助。
var mystuff = new Object();
var all_done = function (imagelist,success,hobject){
//alert(success);
mystuff = imagelist.list;
}
從技術上講,它只是一個函數,帶有imagelist,success和hobject參數。所以,你會調用它:
all_done(anImagelist, somethingRepresentingSuccess, myHobject)
但在這種情況下,它看起來像all_done是回調函數,當某事(此處未顯示)完成時調用。 imagelist,success和hobject是回調變量,它們是回調分配給的任何函數的結果。
假設我們有一個Ajax調用,就像這樣:
$.ajax({
type: "POST",
data: something,
success: all_done
});
現在完成Ajax調用的時候,它的結果,假設有三個,將被傳遞給all_done。真的,我甚至不確定這是否可以用ajax調用,但這個想法是重要的。所以,當ajax調用完成時,mystuff
將被設置爲imagelist.list;
你怎麼知道? – 2012-08-01 17:41:12
@FelixKling只是一個假設,因爲它被稱爲「all_done」,並且有一個註釋掉了alert(「success」)',lol。我假設OP想知道它做了什麼*,而不是它*的*。我會編輯並澄清,雖然 – 2012-08-01 17:46:08
是的,這是一個ajax回調函數。 – FlyingCat 2012-08-01 17:48:18
這是一個接受三個參數(imagelist
,success
和hobject
)的函數。 您可以all_done(some_list, some_state, some_object);
這是基本一樣編寫函數這樣稱呼它:
function all_done(imagelist, success, hobject) {
// ...
}
這是不正確的。函數聲明不是自動全局的,它們也是本地的。例如:http://jsfiddle.net/EFQwA/ – 2012-08-01 17:40:57
@FelixKling:不適用於JS,afaik。 – knittl 2012-08-01 17:43:14
但我知道;)您可能想閱讀:http://stackoverflow.com/questions/336859/javascript-var-functionname-function-vs-function-functionname – 2012-08-01 17:43:53
你有你的mystuff
Object
到可以附加任何你想要的屬性。然後,你必須all_done
存儲接收imagelist,success,hobject
當該功能它觸發任何你發送給它的imagelist
至極也是必須包含list
將附着在mystuff
Object
不知道該屬性的對象的功能,但它將一個函數存儲到名爲all_done的變量中。如果all_done功能是你發佈的代碼後立即調用,然後變成的MyStuff imagelist.list:
var imagelist = {list:"myList"};
var mystuff = new Object();
var all_done = function (imagelist,success,hobject){
//alert(success);
mystuff = imagelist.list;
}
all_done(imagelist,true,null);
alert(mystuff==imagelist.list);//should alert true
alert(mystuff);//should alert myList
我們不知道該參數用於什麼決定,因爲我們沒有寫代碼。看看該函數是如何被調用的,並試圖找出它。 – 2012-08-01 17:38:34
這可能只是整個代碼的一小部分,所以很難弄清楚代碼應該做什麼。 – 2012-08-01 17:39:37
由於我們基本上必須繼續的是變量的名稱(感謝Javascript,我們甚至不知道類型),我們確實沒有什麼可以幫助的。名稱可以是一個粗略的指導方針,但是取決於你調用這個函數的位置,並從那裏找出它。 – 2012-08-01 17:41:16