“Частичное Функциональное Приложение” неправильное употребление в контексте JavaScript?

Вы не можете защитить код на стороне клиента: просто нажмите F12 в Google Chrome, приостановите выполнение javascript , и вы получите все строки, даже зашифрованные. Украсить it и переименовать переменные , и вы получите почти исходный код.

Если вы пишете JavaScript на стороне сервера (то есть NodeJS) боится кто-то взломает ваш сервер и хочет, чтобы хакер усложнил работу, давая вам больше времени, чтобы получить ваш доступ, а затем используйте компиляторы javacript :

Вам нужно использовать Closure Compiler на Advanced Compilation, так как это единственный инструмент, который переименовывает все ваши переменные, даже если они используются в нескольких файлах / модулях. Но у него просто проблема: он работает только в том случае, если вы введете стиль кодирования .

11
задан Hank Gay 18 September 2008 в 15:54
поделиться

4 ответа

Технически Вы создаете совершенно новую функцию, которая вызывает исходную функцию. Таким образом, если мое понимание частично прикладных функций корректно, это не частично прикладная функция. Частично прикладная функция была бы ближе к этому (обратите внимание, что это не общее решение):

vindaloo.curry = function(a) {
    return function(b) {
        return a + b;
    };
};

IIUC, это все еще не было бы частично прикладной функцией. Но это ближе. Истинная частично прикладная функция была бы на самом деле похожа на это, если можно исследовать код:

function karahi(b) {
    return 1 + b;
};

Так, технически, Ваш исходный метод просто возвращает функцию, связанную в рамках закрытия. Единственным путем я могу думать к действительно, частично применяются, функция в JavaScript состояла бы в том, чтобы проанализировать функцию, применить изменения и затем выполнить его через оценку ().

Однако Вашим решением является хорошее практическое применение понятия к JavaScript, таким образом практически говорящий выполняет цель, даже если это не технически точно.

3
ответ дан 3 December 2019 в 11:04
поделиться

Я думаю, что нормально совершенно говорить о частичном функциональном приложении в JavaScript - если это работает как частичное приложение, затем это должно быть то. Как еще Вы назвали бы его?

То, как Ваша функция карри выполняет его цель, является просто деталью реализации. Похожим способом у нас могло быть частичное приложение в спецификации ECMAScript, но когда IE затем реализует его, как Вы сделали, у Вас не будет способа узнать.

3
ответ дан 3 December 2019 в 11:04
поделиться

Технические детали не имеют значения для меня - если семантика остается тем же и, во всех отношениях, функциональные действия, как будто это была действительно частично примененная функция, кто заботится?

Я раньше был столь же академическим о вещах, но вызывающий беспокойство о таких подробных сведениях не сделали реальной работы в конце.

Лично, я использую MochiKit; это имеет хорошее частичное () функция, которая помогает в создании такого. Я люблю его.

1
ответ дан 3 December 2019 в 11:04
поделиться

Необходимо проверить Функции JavaScript С приправой карри. Я не полностью перенес голову вокруг его функции карри, но она могла бы иметь Ваш ответ.

Править: Я согласился бы с Вашей оценкой, как бы то ни было.

0
ответ дан 3 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: