JavaScript DHTML/Mochkit/partial

Материал из Web эксперт
Версия от 07:25, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

test partial application

 
<!--
MochiKit is dual-licensed software.  It is available under the terms of the
MIT License, or the Academic Free License version 2.1.  The full text of
each license is included below.
-->
<!-- Code revised from MochiKit demo code -->
<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>
<pre id="test">
<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>
</pre>
</body>
</html>