[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: правильное объявление классов, методов и свойств
qpayct
нарыл тут одну статейку интересную и если всё правильно понял, вот такой код при каждом обращении будет создавать новый обьект
function runAjax(val, url, metod) {
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) document.getElementById('page').innerHTML=req.responseText;
else alert("не пашет...\n" +req.statusText + "\n" + req.responseText);
}
}

if (metod=='GET') getRequest(val, url, metod);
else if (metod=='POST') postRequest(val, url, metod);
}
правильно ли в такой ситуации написать вот так?
function runAjax(val, url, metod) {
req.onreadystatechange = readychange();
if (metod=='GET') getRequest(val, url, metod);
else if (metod=='POST') postRequest(val, url, metod);
}
function readychange() {
if (req.readyState==4) {
if (req.status==200) document.getElementById('page').innerHTML=req.responseText;
else alert("не пашет...\n" +req.statusText + "\n" + req.responseText);
}
}
или вообще взять да и написать прототип
function runAjax(val, url, metod) {
if (metod=='GET') getRequest(val, url, metod);
else if (metod=='POST') postRequest(val, url, metod);
}

runAjax.prototype.req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) document.getElementById('page').innerHTML=req.responseText;
else alert("не пашет...\n" +req.statusText + "\n" + req.responseText);
}
}




Спустя 2 часа, 27 минут, 47 секунд (12.03.2010 - 18:37) glock18 написал(а):
qpayct
во втором листинге имя функции нужно без скобок.

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

правда листинг с объявление прототипа оставляет у меня большие сомнения в его работоспособности. возможно, он просто продемонстрирован неудачно.

Спустя 20 минут, 51 секунда (12.03.2010 - 18:58) qpayct написал(а):
Цитата (glock18 @ 12.03.2010 - 17:37)
правда листинг с объявление прототипа оставляет у меня большие сомнения в его работоспособности. возможно, он просто продемонстрирован неудачно.

так я пока не проверял. хотел посоветоватся сначала правильно ли вообще так применять прототип

Спустя 1 час, 31 минута (12.03.2010 - 20:29) glock18 написал(а):
qpayct
применять - правильно
применять так - я уже высказал сомнения smile.gif я о том, собственно, что нужно как минимум объявить свойство runAjax.prototype.req прежде, чем вешать свойства ему.

Спустя 34 минуты, 34 секунды (12.03.2010 - 21:03) qpayct написал(а):
а это моя промашка в полном коде всё обьявлено smile.gif
var req = reqObject(); 
но не работает... увы.
но оба не работают.... это потому, что для этого походу надо каждый раз новый обьект создавать, а не ссылку на него sad.gif короче первое единственное правильное
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.