Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вопрос по методу в ООП (https://javascript.ru/forum/events/30015-vopros-po-metodu-v-oop.html)

devenge 20.07.2012 20:37

Вопрос по методу в ООП
 
Как правильней написать такой код?

function Draw() {
	this.qwer = "asdasd";
}

Draw.prototype.todraw = function() {
	console.log( this.qwer );
}

document.getElementById("obj").onmousedown = draw.todraw; // показывает "undefined" вместо "asdasd"

vadim5june 20.07.2012 20:53

var draw=new Draw;draw.todraw();

devenge 20.07.2012 21:02

Мне надо именно этот момент. То есть при нажатии на объект выполнять метод draw.todraw()
document.getElementById("obj").onmousedown = draw.todraw; // показывает "undefined" вместо "asdasd"

vadim5june 20.07.2012 21:10

Цитата:

Сообщение от devenge (Сообщение 190374)
Мне надо именно этот момент.

<script>
function Draw() {
	this.qwer = "asdasd";
}
Draw.prototype.todraw = function() {
alert(this.qwer);	
console.log( this.qwer );
};
var draw=new Draw;
window.onload=function(){document.getElementById("obj").onmousedown = function(){draw.todraw();};}
</script>
<body>
<button id='obj'>1111</button>

так наверно

zebra 20.07.2012 23:31

Зачем apply?

cyber 21.07.2012 12:32

что бы this передать

zebra 21.07.2012 14:36

Так есть же ссылка на объект, зачем apply O_O

devote 21.07.2012 15:53

Цитата:

Сообщение от zebra
Так есть же ссылка на объект, зачем apply O_O

видимо для уверенности :D

vadim5june 21.07.2012 16:09

Цитата:

Сообщение от zebra (Сообщение 190393)
Зачем apply?

невнимательность моя


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