Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   хэширование ДОМ обьектов (https://javascript.ru/forum/events/32666-khehshirovanie-dom-obektov.html)

cyber 25.10.2012 22:34

Цитата:

Сообщение от Дзен-трансгуманист (Сообщение 212334)
Попил пива и решил удариться в оверинжениринг? :)

да нет все просто
Array.prototype.each = function (fnc) {
	var leng = this.length;
	for(var i = 0;i< leng;i++) {
		fnc.call(this[i]);
		
		}
	
	};

писать циклы это скучно:haha:

melky 25.10.2012 23:05

Цитата:

Сообщение от cyber
писать циклы это скучно

а функции из ES5 велосипедить нескучно :)

cyber 25.10.2012 23:44

стоп , есть такой метод each ?

cyber 25.10.2012 23:48

наше, http://es5.javascript.ru/x15.4.html#x15.4.4.18 .
Мое оправдание:
слово each короче чем forEach :lol:

cyber 25.10.2012 23:55

так ладно пошел удалять свой маразм=)
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>

    <script>

Array.prototype.each = function (fnc) {
	var leng = this.length;
	for(var i = 0;i< leng;i++) {
		fnc.call(this[i]);
		
		}
	
	};

var arr = [];      
      
      for(var i = 0; i< 200;i++){
      
       arr.push(i);
      
      }     

      function speed(fnc) {
      var d = new Date();
        
      for(var i = 0;i< 10000;i++)fnc();
      
        return new Date() -d ;
      }   
      
      function myEach() {
      
      var sum = 0;
        
        arr.each(function(){
        
         sum+=this;
        });
     
      }
      
      function es5() {
      
        var sum = 0;
        
       arr.forEach(function(num){
        
        sum +=num;
        });
      
      } 
      
      alert("My "+ speed(myEach));
        alert("es5 "+ speed(es5));
    </script>

  </body>
</html>

cyber 26.10.2012 00:00

кстати еще и не плохая кроссбраузерность
https://developer.mozilla.org/en-US/.../Array/forEach


Часовой пояс GMT +3, время: 14:36.