Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Последовательность функций как в jquery (https://javascript.ru/forum/events/30898-posledovatelnost-funkcijj-kak-v-jquery.html)

vadim5june 20.08.2012 20:44

Цитата:

Сообщение от platedz
А где содержится InnerHTML

innerHTML это метод большинства DOM объектов
если разбираетесь с jquery- то там каждый елемент(DOM объект) представлен как jquery -объект
можно преобразвывать из одного в другой

platedz 20.08.2012 22:56

Я к сожалению крайне слаб в терминологии.
а document.getElementById - разве не дом объект?

cyber 20.08.2012 23:11

Цитата:

Сообщение от platedz (Сообщение 199202)
Я к сожалению крайне слаб в терминологии.
а document.getElementById - разве не дом объект?

это дом обьект =)
но в jquery создается свой обьект поэтому вы можете вызывать легко свойства и методы example:
$('#block').css
$('#block') - вернет jquery обьект

platedz 21.08.2012 23:37

Создал объект
obj = (function(window){

return{

	alerts: function(){ alert(dd.innerHTML);},
	dd: function(e) { dd = document.getElementById(e); return this;}

}

})(window)

если его просто вызвать, то все нормально работает
obj.dd("enter").alerts();


А вот так уже не работает.

<div id="onoffcab" onclick="obj.dd("enter").alerts()"></div>


т.е. при клике на div результата нет.

Вопрос, почему? Буду крайне признателен за ответ.

cyber 21.08.2012 23:50

скобки не правильно закрыты
obj = (function(){

return{

	alerts: function(){ alert('1');}
	

}

}());//вот тут не правильно
obj.alerts()

и это не лучшая контрукция для создание обьекта так лучше (имхо)
function createObj () {
      
        this.alert = function (text) {
        
        alert(text);
        };
      
      
      }      

var obj = new createObj ();
  obj.alert('blabla');

platedz 22.08.2012 00:10

Извиняюсь. Виноват. Кавычки неверно поставил.
Почему так не правильно? Работает же?
И как я создам инкапсуляцию таким образом?
Или скорее как я применю методы объекта к объекту window?

cyber 22.08.2012 00:23

Цитата:

Сообщение от platedz (Сообщение 199525)
Извиняюсь. Виноват. Кавычки неверно поставил.
Почему так не правильно? Работает же?
И как я создам инкапсуляцию таким образом?
Или скорее как я применю методы объекта к объекту window?

можно и так и так, но второй как минимум потом удобней читается;)

platedz 08.01.2013 05:37

Пытаюсь унаследовать методы объекта b в объект a.
Подскажите, пожалуйста, что я делаю не так.
Впринципе я пытаюсь на этом примере понять работу prototype, тч. буду признателен за любой пример с prototype, который поможет разобраться.
var a = {

a1: function(){alert("a1");},
a2: function(){alert("a2");}

}

var b = {

b1: function(){alert("b1");},
b2: function(){alert("b2");}

}

a.prototype.b = b;

for(x in a) document.write(a[x] +" - "+x+"<br>");
a.b1();

platedz 08.01.2013 19:45

var a = { a_name:  function(){alert("Альберт")} }
a.a_name();

var b = function(){}
b.b_name = function(){alert("Борис");};
b.b_name();


Как-то я не пойму,
var a - Это объект
а var b - Это функция.

Какая-тогда разница между функцией и объектом, и почему функция обладает свойствами и методами объектов?

platedz 08.01.2013 20:00

А если записать так

a = new Object();
a.a_name = function(){alert("Альберт");};
a.a_name();

b = new Function();
b.b_name = function(){alert("Борис");};
b.b_name();


То разницы и вовсе получается нет.
Но объекты и функции это все-таки ведь разные вещи, или нет?


Часовой пояс GMT +3, время: 12:00.