经常需要在代码中为特定对象的事件指定JS处理函数,例如
我们为window的LOAD事件指定事件处理函数,标准的方法是
window.οnlοad=onLoadHandler;
但这样有一个问题,假如前面指定了一个Handler,后面又指定了一个handler,就会只有一个Handler被执行,不能像C#中用事件委托那样串接事件处理函数
但是,也不是没有办法,办法是让JS使用字符串串接一个包含所有事件处理句柄的函数,然后,再将其指定给特定事件,多的不说,看下面的例子

<script language="javascript1.2">
function a()
     {
    alert("hello");
    }
    
    function b()
     {
    confirm("hello");
    }
    
    var o;
    o="function hello()/n{";
    o+="a();"
    o+="b();"
    o+="}";
    eval(o);
    window.οnlοad=hello;
</script>

你可以试一下
看a和b两个函数是不是都被执行了呢?
原因就是JS的eval函数,它可以动态分析并执行JS代码
其结果就是我在其中定义了一个函数hello,hello中依次执行a和b
当eval执行后,hello函数就存在了,并且,可以被正常的调用了