函数绑定运算符是并排的双冒号::
foo::bar == bar.bind(foo); foo::bar(...arguments); == bar.apply(foo, arguments);
var method = ::obj.foo //== var method = obj.foo.bind(obj)
尾调用
function f(x){ if(x > 0){ return m(x); } return n(x); }