JS 調用函數的後面加括號與不加括號的區別

//代碼一:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>javascript</title>
    <meta charset="utf-8" />
    <script>
        function changeSize() {
            var obj = document.getElementById("txt");
            obj.style.fontSize = "30px";
        }
    </script>
</head>
<body>
    <p id="txt" onclick="changeSize()">加括弧的changeSize()</p>
</body>
</html>
//代碼二 
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>javascript</title>
    <meta charset="utf-8" />
</head>
<body>
    <p id="txt">未加括弧的changeSize</p>
    <script>
        function changeSize() {
            var obj = document.getElementById("txt");
            obj.style.fontSize = "30px";
        }
        document.getElementById("txt").onclick = changeSize;
    </script>
</body>
</html>

代碼一:在HTML中 使用onclick=”changeSize() 調用函數是一定要加括號的,這樣才能順利調用函數。

代碼二:如果是在JavaScript中寫,document.getElementById(“txt”).onclick = changeSize; 或document.getElementById(“txt”).onclick = changeSize(); 加括號和不加括號有很大的區別。
==加了括號表示把函數的返回值賦給onclick事件,頁面會直接觸發onclick該事件,不需要點擊;不加括號表示把函數賦給onclick屬性,而不是返回值,所以在這裏不需要加括號,從而點擊觸發效果。==

onclick = function;
//表示把函數賦給onclick屬性

onclick = function();
//表示把函數的返回值賦給onclick

function a(){
    return 1;
}

var b = a;
b此時等於執行完函數的返回值:1
var b = a();
b這時的值是函數 function a(){return 1;}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章