Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2013, 22:44   #1
Eldrich
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 88
По умолчанию Объект в функции

Доброго всем вечера, товарищи.

Возникла проблема из-за моего незнания и безграмотности.
Её суть:

Имеется скрипт, содержащий 2 функции (каждая из которых выполняется по клику).

PHP код:
<script type="text/javascript">

tyty1 parseFloat(document.getElementById('tyty1').value);
tgtgt1 parseFloat(document.getElementById('tgtgt1').value);

0

function Start() {
        
      var 
x1y1p1 = {   
        
tytytyty1,
        
tgtgttgtgt1,

    }
    }

function 
End() {
        
x1y1p1.tyty x1y1p1.tgtgt


      
}
  
</script> 
Даже код, не важен, думаю. Проблема в том, Что программа не работает. Не определяются свойства объекта. Но если эти свойства вынести за функцию, то всё работает, НО! только с теми данными, которые были введены в свойство "value" этой вещи:
Код HTML:
<input id="tgtgt1" value="10">
Обобщаю: не определяются объекты, при использовании их в различных функциях - можно ли это исправить и есть ли альтернатива?

Спасибо за помощь, всем бобра.=)

Последний раз редактировалось Eldrich; 26.03.2013 в 22:47.
Eldrich вне форума Ответить с цитированием
Старый 27.03.2013, 02:10   #2
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

DOM не готов к тому времени. Вы сами узнаете больше, если откроете консоль Хрома...
Выполняйте скрипт или перед
Код:
</body>
или в
Код:
window.onload = function(){//код}
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 27.03.2013, 08:27   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

В переменных tyty1, tgtgt1 хранятся изначальные значения (10, к примеру), которые хранятся как неизменное число. Это не указатель на свойство. Получать нужно по-надобности.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 27.03.2013, 19:20   #4
Eldrich
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
В переменных tyty1, tgtgt1 хранятся изначальные значения (10, к примеру), которые хранятся как неизменное число. Это не указатель на свойство. Получать нужно по-надобности.
То есть они статичны? Но почему я могу менять их значения в самом скрипте? (tyty.tyty1 = tyty.tyty1 - tgtgt2.tgtgt1 - не важно каким образом, но менять получается).

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
DOM не готов к тому времени. Вы сами узнаете больше, если откроете консоль Хрома...
Выполняйте скрипт или перед
Код:
</body>
или в
Код:
window.onload = function(){//код}
Не сработало( Код наполовину перестал работать, даже.=))

Ребят, а есть ли вообще альтернатива такой записи объектов? Неужели такие объекты требовательные?)) Просто писать переменные... без привязки к объекту, не совсем красиво(

Как можно запустить скрипт, с нужными пользователю, сидящему за компьютером, свойствами объекта, а не теми, которые первоначально были заданы..?)

Последний раз редактировалось Stilet; 27.03.2013 в 22:38.
Eldrich вне форума Ответить с цитированием
Старый 27.03.2013, 21:11   #5
Eldrich
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 88
По умолчанию

Ребят, всем спасибо.) Передумал объекты писать, лучше массивы подойдут для этого. Закрываю тему.
Eldrich вне форума Ответить с цитированием
Старый 28.03.2013, 07:32   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Можно создать объект через конструктор, привязать к нему нужные инпуты и создать методы, выдающие текущие значения этих инпутов — это тру путь, начала ООП в JavaScript.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 28.03.2013, 17:37   #7
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Слава Богу что изобрели AngularJS
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 28.03.2013, 22:15   #8
Eldrich
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 88
По умолчанию

Товарищи, вопрос так и не разрешился... Но если поместить функцию в функцию и выполнять функции в функции согласно параметрам функции, то... я не согрешу? Можно помещать функцию в функцию? (чтобы объекты (массивы) были в одной функции, но в тоже время в разных, - просто первая проверка показала, что такое исправляет проблему наполовину)
Eldrich вне форума Ответить с цитированием
Старый 28.03.2013, 22:35   #9
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Код:
<html>
<head>
	<title></title>
</head>
<body>
	<input type="text" id="tyty1">
	<input type="text" id="tgtgt1">
	<button onclick="start()" id="start">Start</button>
	<button onclick="end()" disabled id="end">End</button>
	<div id="out"></div>
	<script type="text/javascript">
		var curData = {};
		function start() {
			curData.x1y1p1 = {   
				tyty: parseFloat(document.getElementById('tyty1').value),
				tgtgt: parseFloat(document.getElementById('tgtgt1').value)
			}
			document.getElementById('end').disabled = false;
		}
		function end(){
			curData.Q = curData.x1y1p1.tyty + curData.x1y1p1.tgtgt;
			document.getElementById('out').innerText = curData.Q;
		}
	</script>
</body>
</html>
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 28.03.2013, 23:53   #10
Eldrich
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 88
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
Код:
<html>
<head>
	<title></title>
</head>
<body>
	<input type="text" id="tyty1">
	<input type="text" id="tgtgt1">
	<button onclick="start()" id="start">Start</button>
	<button onclick="end()" disabled id="end">End</button>
	<div id="out"></div>
	<script type="text/javascript">
		var curData = {};
		function start() {
			curData.x1y1p1 = {   
				tyty: parseFloat(document.getElementById('tyty1').value),
				tgtgt: parseFloat(document.getElementById('tgtgt1').value)
			}
			document.getElementById('end').disabled = false;
		}
		function end(){
			curData.Q = curData.x1y1p1.tyty + curData.x1y1p1.tgtgt;
			document.getElementById('out').innerText = curData.Q;
		}
	</script>
</body>
</html>
Гениально... Огромное спасибо.) Это просто гениально.
Eldrich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так, чтобы при наведении мышкой на объект, который находится под другим, этот объект выходил на первый план? Zaza7 HTML и CSS 3 17.01.2013 10:23
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Как правильно возвращать созданный в функции объект? rpy3uH Общие вопросы C/C++ 4 10.11.2011 16:19
Шаблоны - нужно создать объект класса abc в котором вместо aa использовался бы объект класса fff? Farrel Общие вопросы C/C++ 2 13.11.2010 17:37
добавить в объект объект. the_deer_one Общие вопросы C/C++ 7 10.09.2010 12:17