Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2011, 02:22
Аватар для olga153b
Аспирант
Отправить личное сообщение для olga153b Посмотреть профиль Найти все сообщения от olga153b
 
Регистрация: 11.08.2011
Сообщений: 31

JS классы - как объединить функции в класс
И снова сдрасте)

Помогите пожалуйста с такой проблемой. Я попробую вкратце описать все как есть. Я построил сайт таким образом - после того как браузер получает весь html код, он вдобавок редактируется js-ом. Есть главный файл main.js, в котором находятся все функции (классы не использовал вообще ни в одном куске кода, кроме как jQuery). После него подключается следующий файл, но в зависимости от страницы он может быть разным, т. е. если пользователь зашел на страницу www.site.com/user, то подключится user.js, если на www.site.com/messages - messages.js. В main.js есть такое:

$(document).ready(function(){
    size();
    funcs();
    ...
})


ну и дальше в каждом файле user.js, messages.js и во всех остальных, которые подключаются по той же логике есть свои ф-ции size() и funcs() и еще не мало.

Я хочу сделать один файл supermain.js, в котором будут все функции из всех файлов и что бы принцип работы был таков:

$(document).ready(function(){
    if(param=='user')obj=new User();
    else if(param=='messages')obj=new Messages()
    obj.size();
    obj.funcs();
    ...
})


что б классах User и Messages были все функции из файлов user.js, messages.js соответственно.

Загуглил что делать в таких случаях, из того что я прочитал я даже и не понял что вообще происходит с классами в js.

Подскажите как легче и разумней будет.

Для примера попробую описать, как построен файл user.js:

function size(){
    alert('a')
}

function funcs(){
    helloWord('Hello Word!')
}

function helloWord(p){
    alert(p)
}


Заранее спасибо за ответы
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2011, 02:37
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Забавно - вы реализовали полиморфизм, одну из ключевых концепций ООП, без объектно-ориентированных средств))

Почитайте тут. Всё хорошо изложено. Если не разберётесь - спрашивайте, что непонятно.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2011, 13:47
Аватар для olga153b
Аспирант
Отправить личное сообщение для olga153b Посмотреть профиль Найти все сообщения от olga153b
 
Регистрация: 11.08.2011
Сообщений: 31

в общем попробовал вот так:

function test(){
    
    this.z=function(h){
        alert(h);
        ha();
        m();
    }
    
    this.ha=function(){
        alert('s')
    }
}

var z=new test()
z.z('z')

function m(){
    alert('m')
}


вроде как че-то да получилось. Теперь появился такой вопрос - я часто в тегах делаю так: onclick="ha()", но теперь ha() внутри test, каким образом можно вызвать ha() при onclick? и с точки зрения стандартов языка тот кусок кода, который я написал вверху он соответствует (боюсь как бы не получилось, что в одних браузерах работать будет, в других нет)?

Последний раз редактировалось olga153b, 01.11.2011 в 13:49.
Ответить с цитированием
  #4 (permalink)  
Старый 01.11.2011, 14:13
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

onclick="z.ha()"


Нормально будет работать) Во всех одинаково.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как воспроизвести звук посредством JS на телефоне ? FreeDas Мобильный JavaScript 14 06.03.2013 14:52
Как с помощью JS перенаправить на указанную страницу ? saturn Элементы интерфейса 2 31.10.2011 22:57
Как получит ссылку на элемент внутри которого запустили JS код? aRpi Events/DOM/Window 20 02.10.2011 13:36
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00