快速問題(我認爲)。鑑於這段代碼:解密一些神祕的遺留JavaScript
SomeObject._gaCallbackStack.each(function(callback)
{
if ($type(callback) == 'function') callback();
});
這裏究竟發生了什麼?
對於存儲在回調堆棧中的每個函數,代碼是否調用名爲「callback()」的函數?還是通過在變量名的末尾附加「()」來調用回調堆棧中的每個函數?
感謝您的幫助!
快速問題(我認爲)。鑑於這段代碼:解密一些神祕的遺留JavaScript
SomeObject._gaCallbackStack.each(function(callback)
{
if ($type(callback) == 'function') callback();
});
這裏究竟發生了什麼?
對於存儲在回調堆棧中的每個函數,代碼是否調用名爲「callback()」的函數?還是通過在變量名的末尾附加「()」來調用回調堆棧中的每個函數?
感謝您的幫助!
它似乎是通過堆棧中的每個元素的循環,其中可能包含函數。如果循環遇到一個函數,它會在沒有參數的情況下執行它。
所以你所說的是,如果我有一個名爲「fred」的變量,並且給該變量分配了一些隨機函數對象,我可以像這樣執行該函數:「fred();」。對? – 2012-04-22 01:43:47
是的,這是正確的。 – wsanville 2012-04-22 22:41:58
它應該使用=== :) – 2012-04-20 19:55:35
@JustinThomas同意! :-) – 2012-04-22 01:36:30