日期:2014-05-16  浏览次数:20340 次

函数customerwidth;与customerwidth();的区别
function customerwidth(){
...}
window.onresize = customerwidth; //window.onresize = customerwidth(); 这两句代码一样吗?window.onload = customerwidth;



------解决方案--------------------
JScript code

    var fn = function(){alert(123)};
    var boo = fn; // 把函数fn赋给boo
    alert(boo) // 可以弹出 function(){alert(123)}
    boo() // 这样可以调用fn
    
    var boo = fn(); // 这样是运行fn一次并将fn的返回值 赋值 给 boo
    alert(boo) // 由于fn没有return 值,那么 boo 就是undefined

------解决方案--------------------
探讨
function customerwidth(){
...}
window.onresize = customerwidth; //window.onresize = customerwidth(); 这两句代码一样吗?window.onload = customerwidth;

------解决方案--------------------
探讨
function customerwidth(){
...}
window.onresize = customerwidth;

------解决方案--------------------
对于一个函数来说,它的函数名就是一个句柄,也可以理解为一个指针

如果要添加onresize事件或者其它事件,那么只需要传一个函数句柄就可以了,也就是函数名

如果在函数名后面加"()",那就是执行了这个函数,如果执行完后返回一个函数句柄道理也是一样的.

function demo2() { return function () { alert("DEMO2"); }} 执行demo2(),返回另外一个函数句柄
------解决方案--------------------
楼主 在 html标签中写onclick 和 js中定义是有区别的
HTML code

<input onclick="demo()" />
<input id="test" />
<script type="text/javascript">
    var demo = function(){
        alert(123)
    }
    document.getElementById('test').onclick = demo;
</script>