猿问

js函数调用问题 新手求解

JS行内调用为什么fn要加括号?不加括号是表示整个函数那么在onblur的时候会调用这整个函数,那么加括号执行这个函数没有返回值不是会返回undefined么?

 <input type="text" onBlur="fn()" id="ip">
<script>
    var ip=document.getElementById("ip");
    ip.onblur=fn; //不加括号
    function fn(){
        alert(1);
    }
</script>


慕莱坞森
浏览 767回答 3
3回答

守着星空守着你

&nbsp;<input&nbsp;type="text"&nbsp;onblur="fn()"&nbsp;id="ip"> 这样等价于下面的,所以要加(),执行onblur的时候执行fn函数,不加()就不会执行fn了,也不报错 ip.onblur=function(){fn()} ip.onblur=fn注册onblur事件,不能加(),加()就是执行fn将返回值作为onblur的处理函数了

烙印99

fn() 表示一个方法,ip.onblur=fn; 表示触发这个方法;

慕哥9229398

fn是方法名,你可以和a=1一样看待也是一个变量,fn() 就是调用这个方法,方法名也是变量
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答