2011-11-18 172 views
1

我得到Uncaught TypeError: Property 'setTimeout' of object [object DOMWindow] is not a function儘管Mozilla Firefox和Internet Explorer中的函數運行良好。但Chrome正在創造這樣的問題。當我試圖找出相應行上的代碼時。我在庫中有以下功能。Chrome中未捕獲的類型錯誤

// Animations created synchronously will run synchronously 
function createFxNow() { 
    setTimeout(clearFxNow, 0); // Line where I am getting error. 
    return (fxNow = jQuery.now()); 
} 

function clearFxNow() { 
fxNow = undefined; 
} 
+0

檢查你的代碼是否有類似'setTimeout = something'的字符串 – c69

回答

0

也許全局對象不在範圍內這裏的某些原因。嘗試使用window.setTimeout。無論如何,所有「全局」變量/函數都應該像這樣引用。

順便說一句:該行fxNow = undefined;是危險的。 undefined不是JavaScript中的關鍵字,但只是一個變量(通常)恰好是未定義的。如果其他代碼設置了它(undefined = "Hello"),則會出現問題。 fxNow = null可能是更好的選擇。

+0

'fxNow'是jQuery的一部分,其中'undefined'是一個局部變量,由於沒有參數傳遞,所以這個局部變量確實是'undefined'。 – pimvdb

+0

對Jquery庫的更改使我無法實現要求。它繼續相同的錯誤。 –

+1

@Rahul:也許這個函數被另一個JavaScript覆蓋了?使用調試器來檢查'window.setTimeout'的值。 – RoToRa