以下代碼不起作用,因爲var clock_socket
不在start
函數之外。這很明顯,但爲什麼呢?我認爲如果函數內部不存在其他具有相同名稱的變量,則外部變量在函數內部「可見」。在函數外部看不到Javascript變量
var clock_socket = document.getElementById("clock");
var start = function(){
var hour = new Date();
clock_socket.innerHTML = hour.toLocaleTimeString();
}
var emp = setInterval(function(){start()},1000);
工作是什麼讓你認爲代碼不起作用?它[作品](http://jsfiddle.net/63FYz/),顯然。也許你試圖在DOM尚未存在的時候獲取元素,不是嗎? – raina77ow
根據代碼所在的位置(或者如果它位於DOM準備好的塊內)很重要。如果你正在做'var clock_socket ='賦值,然後存在ID爲「clock」的div,那麼這可能解釋爲它不起作用。 –
我知道這行不通,因爲我試過了。但你們都可能是對的,因爲我把這些代碼放在html的頭部。謝謝! – Rodolfo