Компилятор закрытия встраивает функцию, но размер кода меньше, если эта функция не встроена (меня интересует только размер кода - это для ] JS1k ). Могу ли я сказать компилятору, что я не хочу, чтобы эта функция была встроена?
Изменить: Чтобы пояснить немного лучше, вот моя функция:
function lineTo(x,y) {
a.lineTo(x,y);
}
где a
в контексте холста. Поскольку в коде так много a.lineTo
s, использование этой функции того стоит. Таким образом, мой код составляет 1019 байт (и все строки lineTo
заменены на a.lineTo
). Если я изменю функцию на:
function lineTo(x,y) {
a.lineTo(x,y);
console.log();
}
, новая строка каким-то образом заставит компилятор не встраивать эту функцию, что дает мне 993 байта. Так что, если бы я мог избавиться от console.log ();
, я бы сохранил еще 14 байт.