It seems bind and call do the same thing. Is there a strength/weakness to each one?
<script type="text/javascript">
    var x = {
        name : "test"
    }
     function a1() {
        a2.bind(x)();            a2.call(x);
    }
    function a2() {
        console.log(this);
    }
    a1();  // output x object.
</script>
 
    