问答详情
源自:9-16 创建元素节点createElement

关于调用函数问题


<script type="text/javascript">
var main = document.body;
//创建链接
function createa(url,text)
{
    var a = document.createElement("a");
    a.setAttribute("href",url);
    a.style.color = "green";
    main.appendChild(a);
    var txt = document.createTextNode(text);
    a.appendChild(txt);
}
// 调用函数创建链接
var input = document.createElement("input");
input.setAttribute("type","button");
input.setAttribute("value","点击创建链接");
input.onclick = function (){
    createa("http://www.imooc.com","慕课网");
}
main.appendChild(input);
</script>

为什么onclick不能直接onclick = createa("http://www.imooc.com","慕课网"); ?

网上搜了说 onclick = createa ; 这样才是正确调用方法. 就好像window.onload也是 window.onload = 函数名 或 window.onload = function(){ 函数名(参数); } 而不是 window.onload = 函数名() ; 

所以哪类对象调用函数是这样的规则呢?

提问者:慕运维0509989 2016-11-22 14:34

个回答

  • stone310
    2016-11-22 23:13:33

    因此要不就直接写函数名,要不就用函数包裹起来

  • stone310
    2016-11-22 23:10:23

    在js里,函数后面跟()都是直接调用