// makeProfileTimer function makeProfileTimer(){
var t0 = performance.now();
function doSomething(){}
var t1 = performance.now();
return t1-t0; } var timer = makeProfileTimer(); alert("Выполнение doSomething длится " + timer + " милисекунд");
// makeSaver
function makeSaver(a){
var save;
return function(){
if(!save){
save = a()
}
return save;
}
}
var saver = makeSaver(Math.random);
var value1 = saver();
var value2 = saver();
alert(value1 === value2)
//FinalCountdown for(var i=5;i>0;i--){
(function(a){
setTimeout(function(){
console.log(a)
},6000-a*1000);
})(i);
}
//myBind
//avg
Array.prototype.avg = function() { var sum = 0;
for (var i = 0; i < this.length; i++) {
sum = +this[i];
}
return (sum / this.length); }
//copy
Object.prototype.copy = function() { var myObj = {};
for (var key in this) {
myObj[key] = this[key];
}
return myObj; }
var a = {year: 1999, month: 11}; var b = a.copy(); b.year = 2017;
console.log(a); console.log(b);