 
          
      На самом деле jQuery это просто набор функции Javascript, предоставленных в особом виде (с помощью функции $, jQuery).
Так всеми любимый селектор происходит из стандартной javascript-функции document.querySelectorAll("div")
Если Вы не знаете, что такое замыкание, то почитайте статью она может помочь. 
Обработчика CSS-селектора aka наша главная функция:
Это главная функция, она служит для обработки входящих jQuery запросов и превращает найденные элементы в массив.
В прототипе храним функции и свойства для нашей библиотеки. Они наследуются при объявлении.           
При прохождении массива, объекты берутся из "специального" свойства "this.objects", DOM-элементы в которую заносятся в селекторе.                                            
                              
                                            
Оболочка нашей библиотеки _
Как селектор $ для jQuery
Наш селектор будет вызываться с помощью _("#element-id") , например                                            
Вызов нашей библиотеки выглядит следующим образом:

Рисунок 1. Результат
Спасибо за внимание.
    
  | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | functionmyLib (arg){    if(typeofarg=="string"){        //превращает полученные объекты в массив и возвращает в собственную функцию        returnnewmyLib(Array.prototype.slice.call(document.querySelectorAll(arg)));    }    //обрабатывает массив объектов, записывает их     //в результирующий массив в удобном виде    if(typeofarg!="string"&& typeofarg!="undefined"){      for(vari inarg){          this[i]=arg[i];      }      //устанавлиевается для обработки полученного результата      this.objects=arg;      //сохраняется для удобного прохождение       //результата с помощью for (i=0; i<n; i++)       this.length=arg.length;    }    this.updateEnum();    returnthis;} | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | myLib.prototype=newfunction(arg){  //обработка объектов функцией css  this.css=function(a,b    //Если !b, то есть если 1 аргумент    if(!b){         returneval("this.objects[0].style."+a);    }else{        //Иначе 2 аргумента        for(vari inthis.objects){            eval("this.objects["+i+"].style."+a+"='"+b+"';");        }    }    returnthis;  }                                               //toArray возвращает обычным массивом все объекты   //(функция для примера)  this.toArray=function(){returnthis.objects;}  this.objects=[];  this.length=0;                                             //splice объявляется для того, чтобы в консоли //результат работы функции выдавался как массив //хотя на самом деле это другой объект  this.splice=function(){};                                              this.updateEnum=function(){  for(vari inthis){    //изменение enumerable, для того, что for не проходил    //по ненужным элементам возвращаемого объекта    if(i*1!=i)      Object.defineProperty(this, i, {        value: this[i],        enumerable: false,        writable: false,        configurable: false      });    }  }}; | 
| 1 | var_ = function(arg){ returnnewmyLib(arg); } | 
| 1 2 3 4 5 6 7 8 | <font color="#000000">//получим "массив" c единственным объектом <div id='test-lib'></div>_("#test-lib")//применим пару css-свойств_("#test-lib").css("padding","25px").css("background","#f00");//проверим наш самописный "getter"_("#test-lib")[0].innerHTML+="<br>padding of this = "+_("#test-lib").css("padding");</font><br> | 
Тест работы библиотеки по клику. 
onclick='_("#test-lib").css("padding",Math.random()*50+"px").css("background","#aaf")'
onclick='_("#test-lib").css("padding",Math.random()*50+"px").css("background","#aaf")'

Рисунок 1. Результат
Спасибо за внимание.