В верхней части каждого скомпилированного javascript файла дротика находится этот нечетный список.Для dartjs каков нечетный список алфавитов (от А до Я) для пустых экземпляров класса?
function dart() {
this.x = 0;
delete this.x;
}
var A = new dart;
var B = new dart;
var C = new dart;
var D = new dart;
var E = new dart;
var F = new dart;
... etc etc ...
var Z = new dart;
Я просмотрел остальную часть кода, который ищет .A (или любые другие буквы) без везения. Какая цель это в точности? Конечным результатом является то, что экземпляры A-Z функции/конструктора dart() представляют собой пустые объекты класса, но для чего они используются?
Использования регулярных выражений, как /[A-Z]{1}\./
я нашел несколько письма экземпляров украшенных свойств, а затем все 27 букв проходят через эту функцию:
function convertToFastObject(properties) {
function MyClass() {
}
MyClass.prototype = properties;
new MyClass();
return properties;
}
;
A = convertToFastObject(A);
B = convertToFastObject(B);
C = convertToFastObject(C);
... etc etc ...
Z = convertToFastObject(Z);
что еще более запутанную ад из меня. Поскольку эта строка, похоже, читается как SomeObject = convertToFastObject(SomeObject);
без изменений.
Редактировать/Обновить: Обнаружено объяснение для convertToFastObject и его предшественника класса dart() - Why the convertToFastObject function make it fast? Это трюк оптимизации. Все еще оставляет мне вопрос о том, почему список экземпляров A-Z - это еще один трюк оптимизации или какая-то хэш-таблица кода?
Отчасти сложный вызов: Pixel объясняет, что и Флориан объясняет, почему переменные A-Z дартса. – David