var arr = [4, 0, 4];
Array.prototype.numberOfOccurrences = function(n) {
var sum = 0;
for(var i = 0; i < this.length; i++) {
if (this[i] === n) {
sum++;
}
}
return sum;
}
alert(arr.numberOfOccurrences(4));
var makeOneRunnable = (function(){
var firstCall = true;
return function (context, fn){
var rfn = firstCall ? function(){
if(fn){
var res = fn.apply(context, arguments);
fn = null;
return res;
}
} : function(){}
firstCall = false;
return rfn;
}
})();
var func = function() {
var func2 = function() {
var func3 = function() {
var DeepestFunction = makeOneRunnable(this, function() {
alert('hello');
});
DeepestFunction();
DeepestFunction();
DeepestFunction();
};
func3();
};
func2();
};
func();
func();
func();