Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2014, 20:01
Новичок на форуме
Отправить личное сообщение для sx88 Посмотреть профиль Найти все сообщения от sx88
 
Регистрация: 03.11.2014
Сообщений: 7

Область видимости переменной. [РЕШЕНО]
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
    <script>
        
 
        function round(price_staff) {
            var tmp = 0;
            tmp = price_staff / 10; //5.5
            tmp = Math.ceil(tmp); // 6
            price_staff = tmp * 10; //60
            document.write('in_round=', price_staff,'<br>'); //in_round=60
        }
 
        function payment(price) {
            price_staff = price; //50
            price_staff = price_staff * 1.1; //55
            round(price_staff);
            document.write( 'price_staff_in_payment=',price_staff); // price_staff in paymen = 55
        }
    </script>
    <script>
        var price = 50;
        payment(price);
    </script>
</BODY>
</body>
</html>

Последний раз редактировалось sx88, 05.11.2014 в 20:52.
Ответить с цитированием
  #2 (permalink)  
Старый 05.11.2014, 20:04
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

А зачем у вас теги script вложены один в другой?
Ответить с цитированием
  #3 (permalink)  
Старый 05.11.2014, 20:17
Новичок на форуме
Отправить личное сообщение для sx88 Посмотреть профиль Найти все сообщения от sx88
 
Регистрация: 03.11.2014
Сообщений: 7

Сообщение от kostyanet Посмотреть сообщение
А зачем у вас теги script вложены один в другой?
Да, ошибся Но не суть. Почему-то переменная price_staff в разных функциях имеет разное значение. По всей видимости, это ДВЕ РАЗНЫХ переменных, да вот как это происходит понять не могу. Подскажите.
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2014, 20:50
Новичок на форуме
Отправить личное сообщение для sx88 Посмотреть профиль Найти все сообщения от sx88
 
Регистрация: 03.11.2014
Сообщений: 7

Как работает не понял, но надо было убрать price_staff из function round(price_staff)
Ответить с цитированием
  #5 (permalink)  
Старый 05.11.2014, 20:54
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Так сделайте ее локальной, var price_staff в пейменте.
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2014, 21:07
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Какая-то логика нелепая. Обычно сначала что-то генерят, потом рендерят собрав все в кучу, в какое-то место. Это что, школьное задание найти косяк препода?

function round(p) {
            return Math.round(p/10)*10;
        }
 
        function payment(price) {
            var x = 1.1;
            price*=x;
            var price_staff=round(price);
            document.write('in_round=', price_staff,'<br>');
            document.write( 'price_staff_in_payment=',price);
        }
        var price = 50;
        payment(price);


Все равно баян.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пож с JSON, передача id ссылки. wisma jQuery 22 10.02.2014 15:36
Область видимости переменной jquery Prazdnic Общие вопросы Javascript 7 04.01.2013 19:17
Область видимости переменной ацкий Общие вопросы Javascript 3 27.08.2011 14:09
Область видимости переменной! Kotakota Events/DOM/Window 7 27.07.2011 13:37
Область видимости переменной. noumo Events/DOM/Window 3 03.12.2009 23:48