JavaScript DHTML/Mochkit/partial

Материал из Web эксперт
Перейти к: навигация, поиск

test partial application

   <source lang="html4strict">


<html> <head>

   <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Base.js"></script>
   <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script>
   <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/DOM.js"></script>
   <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Style.js"></script>
   <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Logging.js"></script>
   <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script>

</head> <body>

<script type="text/javascript">
    var a = [];
    var func = function (a, b) {
        if (arguments.length != 2) {
            return "bad args";
        } else {
            return this.value + a + b;
        }
    };
    var self = {"value": 1, "func": func};
    var self2 = {"value": 2};
    alert( self.func(2, 3), 6, "setup for test is correct" );
    self.funcTwo = partial(self.func, 2);
    alert( self.funcTwo(3), 6, "partial application works" );
    alert( self.funcTwo(3), 6, "partial application works still" );
    alert( bind(self.funcTwo, self2)(3), 7, "rebinding partial works" );
    self.funcTwo = bind(bind(self.funcTwo, self2), null);
    alert( self.funcTwo(3), 6, "re-unbinding partial application works" );
</script>

</body> </html>

 </source>