разработчики Javascript часто сталкиваются с особой практикой, где целые файлы .js инкапсулируются в анонимных функциях, такие как (function ()}) (). Хотя это может показаться загадочным, этот метод имеет особые преимущества, особенно для пространства имен и контроля видимости функций и переменных.
функции Javascript могут быть вложены, что позволяет для частных функций и/или переменных в рамках внешней функции. Например:
function outerFunction() { function innerFunction() { // Inner function with private visibility } }
В этом сценарии внешняя функция доступна по всему миру, но внутренняя функция является частной для него.
Anonymous Function Wrapper обслуживает аналогичную цель, эффективно создавая частную область в файле. Код внутри обертки становится недоступным для внешнего мира, предотвращая загрязнение глобального масштаба. Этот метод может быть полезен для организации кода в пространства имен, позволяя создавать пользовательские библиотеки или плагины. var private_var; function private_function () { // частная функция } возвращаться { public_function1: function () { // публичная функция }, public_function2: function () { // публичная функция } }; }) ();
В данном случае private_var и private_function являются частными в пространстве имен myplugin, но public_function1 и public_function2 можно получить из внешней части обертки.
var myPlugin = (function() { var private_var; function private_function() { // Private function } return { public_function1: function() { // Public function }, public_function2: function() { // Public function } }; })();
окончательно, когда они являются функциями, которые могут пройти в действие. Например, при создании плагинов jQuery разработчики проходят в jQuery или $:
этот метод переосмысляет глобальный параметр локально, предлагая производительность и способствуя компрессии. JavaScript - это средство для достижения конфиденциальности, организации пространства имен и улучшения производительности. Они предоставляют удобный способ инкапсулировать код в файл, что позволяет создавать многократные компоненты и библиотеки.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3