Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рациональное использование функции (https://javascript.ru/forum/misc/31079-racionalnoe-ispolzovanie-funkcii.html)

dmitry111 26.08.2012 16:53

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 200602)
это называется обертка анонимной функцией

для подобной функции, которых масса внутри большого скрипта это не лучший способ

bes 26.08.2012 16:57

только там требуется больше вычислений и в применении к другим ситуациям всё рушится, когда нет явного задания style.top (или в атрибуте style)
а также уже наверное в курсе, что addEventListener - не кроссбраузерная

lord2kim 26.08.2012 17:08

Цитата:

Сообщение от bes (Сообщение 200609)
только там требуется больше вычислений и в применении к другим ситуациям всё рушится, когда нет явного задания style.top (или в атрибуте style)
а также уже наверное в курсе, что addEventListener - не кроссбраузерная

у него рассматривается конкретный случай и задается top через JS, т.ч. подходит норм...
кст если через тег или атрибут style задавать, то вроде он не считывается в большинстве браузеров...

dmitry111 26.08.2012 17:13

bes,
согласен, больше вычислений. Но зато все действия не выходят за рамки одной функции, а это помогает не затеряться в большом скрипте программисту.
Возможно существуют более простые подходы, однако мой уровень знаний js не позволяет тут их продемонстрировать.
Про addEventListener, да, знаю.. Просто удобно использовать :)


Maxmaxmахimus,
я пока еще не понимаю что такое ООП, но для простых задач я думаю его использовать не следует.
Все гениальное просто :)

bes 26.08.2012 17:20

Цитата:

Сообщение от lord2kim
у него рассматривается конкретный случай и задается top через JS, т.ч. подходит норм...

тем более, смысл для частного случая получать каждый раз коллекцию document.getElementsByTagName и вычислять её length

Цитата:

Сообщение от lord2kim
кст если через тег или атрибут style задавать, то вроде он не считывается в большинстве браузеров...

атрибут style завязан на объект style, а то, что задаётся в тегах <style> нет
<style>
button {
	height: 50px;
}
</style>

<button style="width: 50px">click</button>

<script>
document.body.children[0].onclick = function () {
	alert(this.style.width +'; ' + this.style.height)
}
</script>

dmitry111 26.08.2012 17:39

Цитата:

Сообщение от bes (Сообщение 200614)
тем более, смысл для частного случая получать каждый раз коллекцию document.getElementsByTagName и вычислять её length

[/html]

можно придумать эту функцию с id. Где вместе с значением для top, функция будет генерировать id. #id1, #id2, #id3.....

Однако, конкретно в моем случае, не вижу этой необходимости, так как коллекция собирается по требованию пользователя и функция не будет использоваться часто..

lord2kim 26.08.2012 17:46

Цитата:

Сообщение от bes (Сообщение 200614)
<style>
button {
	height: 50px;
}
</style>

<button style="width: 50px">click</button>

<script>
document.body.children[0].onclick = function () {
	alert(this.style.width +'; ' + this.style.height)
}
</script>

достаточно добавить кавычки к значению (style = "width: '50px'"), как обычно делается, и усе...

bes 26.08.2012 18:30

Цитата:

Сообщение от lord2kim
достаточно добавить кавычки к значению (style = "width: '50px'"), как обычно делается, и усе...

чёт я первый раз вижу, что так обычно делают

<button style="background: 'green'">click</button>

И где же цвет?

PashPP 26.08.2012 19:53

Цитата:

Сообщение от Maxmaxmахimus
ты определись простой у тебя скрипт или сложлный

Я думаю, что он просто пытается выполнить задачи ООП без инструментов ООП.

lord2kim 26.08.2012 19:57

Цитата:

Сообщение от bes (Сообщение 200629)
чёт я первый раз вижу, что так обычно делают

<button style="background: 'green'">click</button>

И где же цвет?

хм...харошо...уговорил)


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