<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>037</title>
</head>
<body>
    
</body>
<script type="text/javascript">
(function () {
    function makeString (ldelim, str, rdelim) {
    return ldelim + str + rdelim;
    }
    function quoteString (str) {
         return makeString("'",str,"'");
    }
    function barString (str) {
        return makeString("-",str,"-");
    }
    function namedEntity(str){
        return makeString("#", str, ";");
    }
    console.log(quoteString("apple"));
    console.log(barString("apple"));
    console.log(namedEntity(169));
})(); 
(function () {
    function makeString (ldelim, rdelim, str) {
    return ldelim + str + rdelim;
    }
    function partial (fn) {
         var args = [].slice.call(arguments, 1);
         console.log(args);
         // this的理解很重要
         return function(){
            return fn.apply(this, args.concat([].slice.call(arguments)));
         };
    }
    function add(a,b){
        return a + b;
    }
    var add100 = partial(add, 100);
    console.log(add100(14));
    var nameEntity = partial(makeString, "&#", ";");
    console.log(nameEntity(169));
    var named = makeString.bind(undefined, "&#", ";");
    console.log(named(169));
})(); 
</script>
</html>