Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как запретить вызов функции? (https://javascript.ru/forum/misc/75847-kak-zapretit-vyzov-funkcii.html)

Artur_Hopf 12.11.2018 08:52

Как запретить вызов функции?
 
Добрый день. Допустим есть функция. И ее вызов происходит из другой функции. Пример:
start();

function start(){
     end();
}

function end(){
     alert('эту функцию можно вызвать по другому?');
}


Если в консоли браузера наберу end() то функция сработает.

Подскажите пожалуйста, как сделать чтобы эта функция запускалась только как описано в коде?

j0hnik 12.11.2018 08:56

start();

function start(){
end();
  function end(){
  alert('эту функцию можно вызвать по другому?');
}
}

j0hnik 12.11.2018 09:00

может это вам поможет собрать подходящую конструкцию
https://learn.javascript.ru/internal-external-interface

рони 12.11.2018 09:06

Artur_Hopf,
function end(){
     alert('эту функцию можно вызвать по другому?');
}

var start = (function(){
    var temp = end;
    end = null;
    return temp;
})();


start();

try {

  end();

} catch (e) {

  alert('Ошибка ' + e.name + ":" + e.message + "\n" + e.stack);
}

Artur_Hopf 12.11.2018 09:36

j0hnik,
рони,
Спасибо, разберусь надеюсь :thanks:


Часовой пояс GMT +3, время: 13:32.