JavaScript 函數調用時帶括號和不帶括號的區別

function countBodyChildren(){
    var body_element = document.getElementsByTagName("body")[0];
    alert(body_element.childNodes.length);
}

window.onload = countBodyChildren; // 頁面加載完成執行
//window.onload = countBodyChildren(); // 代碼直接執行

1.函數只要是要調用它進行執行的,都必須加括號。此時,函數實際上等於函數的返回值或者執行效果,固然,有些沒有返回值,但已經執行了函數體內的行爲,就是說,加括號的,就表明將會執行函數體代碼。函數

2.不加括號的,都是把函數名稱做爲函數的指針,一個函數的名稱就是這個函數的指針,此時不是獲得函數的結果,由於不會運行函數體代碼。它只是傳遞了函數體所在的地址位置,在須要的時候好找到函數體去執行。spa

相關文章
相關標籤/搜索