Я пытался понять код Evercookie Сэми Камкара, и он делает, по крайней мере, одну вещь, которую я просто не понимаю.Соответствующий код можно посмотреть в Интернете по адресу http://code.google.com/p/beef/source/browse/trunk/modules/beefjs/lib/evercookie.js?spec=svn604&r=604.
. Мой вопрос о том, как этот код устанавливает evercookie
сам по себе.Соответствующая конструкция:
var evercookie = (function () {
this._class = function() {
...
};
return _class;
})();
Я понимаю, что evercookie
предназначен для использования в качестве конструктора (несмотря на то, что не соблюдается соглашение об использовании конструкторов с большой буквы), и я понимаю, что evercookie
устанавливается для возвратаанонимная, самоисполняющаяся функция.Если я не сбит с толку больше, чем я думаю, evercookie
следует установить в значение, которое _class
имеет в области действия внешней (анонимной) функции.Что я не следую: откуда _class
получает значение?_class
не то же самое, что this._class
, и нет другой ссылки на _class
.