Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Saliery
3 / 3 / 1
Регистрация: 27.01.2013
Сообщений: 315
1

Возврат переменной из функции

02.01.2019, 14:38. Просмотров 1013. Ответов 4
Метки нет (Все метки)

Подскажите, пожалуйста, как вернуть из функции значение переменной z?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script type="text/javascript">
 
function mmm(x, y, z) {
 
z.val=x+y;
return z;
 
}
 
window.onload = function() {
 
var t=0;
 
mmm(1,2,t);
 
alert(t);
 
}
 
</script>
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2019, 14:38
Ответы с готовыми решениями:

Возврат результат из функции
На вход процедуры подаю ширину и долготу, но не могу понять как вернуть результат этот функции в...

Передача функции переменной и вызов переменной
Вот как реализовал, правда не работает)) Подскажите где что не так? При нажатии на button1...

Возврат responseText из XMLHttpRequest aka AJAX как результат работы функции
Вот как бы обычный Ajax запрос, на чистом JS. function ajax() { var xhr = new...

Получение значения локальной переменной функции вне этой функции
Возможно ли переменную объявленную в функции использовать за ее пределами? Функции вызывается...

Возврат значения из функции
Добрый день! Прошу помочь, нужно чтоб при открытии окна появлялась кнопка, потом при нажатии на...

4
amr-now
Эксперт JS
1930 / 1134 / 539
Регистрация: 14.06.2018
Сообщений: 2,775
02.01.2019, 15:03 2
Лучший ответ Сообщение было отмечено Saliery как решение

Решение

Здраствуйте!
Если начали использовать свойство val, то можно и продолжить его использовать.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        function mmm(x, y, z) {
            z.val = x + y;
        }
 
        window.onload = function () {
            var t = { val: 0 };
            mmm(1, 2, t);
            alert(t.val);
        }
    </script>
</body>
</html>
1
Saliery
3 / 3 / 1
Регистрация: 27.01.2013
Сообщений: 315
02.01.2019, 19:04  [ТС] 3
amr-now,

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
<script type="text/javascript">
   function load_js(id, url, onRes) {
 
var link;
var head;
 
link = document.createElement("script");
link.id = id;
link.type = "text/javascript";
link.src = url;
 
link.onload = function () {onRes.val=1;}
link.onerror = function () {onRes.val=0;}
 
head = document.getElementsByTagName("head")[0];
head.appendChild(link);
 
}
 
 
window.onload = function() {
 
var t={val: 0};
 
load_js("js_3", "3.js", t)
 
alert(t.val);
 
}
    </script>
</body>
</html>
в таком варианте почему-то не работает

возвращает 0 почему-то
0
amr-now
Эксперт JS
1930 / 1134 / 539
Регистрация: 14.06.2018
Сообщений: 2,775
02.01.2019, 20:02 4
Saliery, если нужно просто проконтролировать, загрузился ли произвольный скрипт,
то свойство val не обязательно. Достаточно переменной примитивного типа - boolean или integer.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        function loadJS(src) {
            let new_script = document.createElement("script");
            new_script.src = src;
            document.head.appendChild(new_script);
 
            return new Promise((resolve, reject) => {
                new_script.onload = () => resolve();
                new_script.onerror = () => reject(new Error("Ошибка загрузки"));
            });
        }
 
        (async function () {
            let t={val: 0};
            try {
                await loadJS("3.js");
                t.val = 1;
            }
            catch (e) {
                alert(e.message);
            }
            alert(t.val);
        })();
    </script>
</body>
</html>
1
Saliery
3 / 3 / 1
Регистрация: 27.01.2013
Сообщений: 315
02.01.2019, 22:36  [ТС] 5
amr-now, спасибо, конечно, но вопрос был более простой

я саму базу не пойму, похоже, если внутри одной функции есть ещё функция, например
Javascript
1
link.onload = function () {onRes.val=1;}
то переменная хоть и глобальная onRes, но она не видна, её нельзя использовать в дальнейшем.
как бы не уходить от того примера, что я дал и решить проблему с передачей переменной всё же?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
02.01.2019, 22:36
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2019, 22:36

Возврат значения переменной
Здравствуйте, подскажите пожалуйста всю голову сломал, как вернуть переменную a с результатом пост...

Возврат к предыдущей функции
Ребят подскажите кто-нибудь , если есть функция внутри функции например кнопка далее выполняет...

Ajax в функции, возврат значения
Скажите пожалуйста, не работает return function getQuCart(){ $.ajax({ type: 'POST',...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru