function sum(fn) { return function(array) { return fn.apply(null, array) } } console.log(sum(function(x, y) {return x + y})([1, 2])) function exisy(x){ return x != null } console.log(exisy(null)) console.log(exisy(undefined)) console.log(exisy(function(){}())) function strange(n){ for(this['i']=0;this['i']<n;this['i']++); return this['i'] } console.log(strange.call({},200))