Вызов функции в вызове функции - PullRequest
0 голосов
/ 14 мая 2018

Каков наилучший способ вызова функции внутри вызова другой функции в той же строке?

Вот мой пример, но выглядит неряшливо

<script>
function someFunction (a,b,c) { ... }
function otherFunction (d) { ... }
</script>
<a href="place.html" onClick="someFunction(varOne, varTwo, otherFunction(varThree))">a link</a>

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Вы можете позвонить прямо в строку

function function_one() {
        alert("The function called 'function_one' has been called.");
    }

    function function_two() {
        alert("The function called 'function_two' has been called.");
    }

    <a href="place.html" onClick="function_one(),function_two">a link</a>
0 голосов
/ 14 мая 2018

Вы можете сделать это таким образом

<script>
function someFunction (a,b,c) { 
...
otherFunction(c);
... }
function otherFunction (d) { ... }
</script>
<a href="place.html" onClick="someFunction(varOne, varTwo, varThree)">a link</a>
0 голосов
/ 14 мая 2018

Встроенные обработчики, по сути, eval находятся внутри HTML-разметки и приводят к сложному чтению и управлению кодом.Прикрепите их правильно, используя вместо этого Javascript, и присвойте первый результат первой переменной:

<script>
function someFunction (a,b,c) { ... }
function otherFunction (d) { ... }
window.addEventListener('DOMContentLoaded, () => {
  const a = document.querySelector('#placeAnchor');
  a.addEventListener('click', () => {
    const otherResult = otherFunction(varThree);
    someFunction(varOne, varTwo, otherResult);
  });
});
</script>

<a href="place.html" id="placeAnchor">a link</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...