Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
16 / 16 / 1
Регистрация: 11.07.2012
Сообщений: 151

Как можно упростить код?

14.08.2012, 22:42. Показов 1754. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
javascript изучаю недавно, написал небольшой код, но я думаю его можно сделать проще на много, но как проще его сделать я не знаю
html:
HTML5
1
2
3
4
5
6
7
8
<html>
  <head>
    <script src="test.js"></script>
  </head>
  <body>
    <div id="num1">нажми на эту строку</div>
  </body>
</html>
javascript:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
window.onload = function() {
    var a = new Elem();
}
function Elem() {
    this.obj = document.getElementById("num1");
 
    this.obj.addEventListener("click", function() {
        this.obj = document.getElementById("num1");
        this.obj.innerHTML = "HELLO WORLD";
    }, false)
        
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.08.2012, 22:42
Ответы с готовыми решениями:

Как упростить программный код?
Как упростить этот программный код, чтобы по 200 раз не писать эти цифры? Цель работы поставить ноль в календаре перед цифрой даты до...

Как упростить код и правильно использовать ООП?
Доброе время суток. Есть один блок в котором несколько блоков и второй блок в котором несколько блоков. &lt;div...

Как можно упростить javascript проверку на валидность?
Я новичок в javascript, и у меня есть вопрос. У меня есть код с проверкой на валидность заполнение регистрационной формы. Я думал как ее...

5
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,204
Записей в блоге: 24
15.08.2012, 00:10
Принципиально ту же функциональность можно достичь, не создавая новую переменную и не инициализируя классовую функцию (конструктор):
JavaScript
1
2
3
4
5
6
7
window.onload = function() {
    document.getElementById("num1").addEventListener("click", function() {
        // obj локальная
        document.getElementById("num1").innerHTML = "HELLO WORLD";
    }, false)
        
}
P.S. единственная разница написана в комменте — у дива не добавляется поле с именем «obj».
1
16 / 16 / 1
Регистрация: 11.07.2012
Сообщений: 151
15.08.2012, 01:33  [ТС]
и еще вопрос сюда же, что значит слово узел? никак не могу понять
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.08.2012, 08:21
Node как "узел" - это только в плохо переведённых книжках.

Нода - она и есть "нода".
Это или HTML-тег, или текст ВНЕ этих самых HTML-тегов.
Вот, например, в вашем примере внутри тега <BODY>:
HTML5
1
2
3
  <body onload="alert (document.body.childNodes.length)">
    <div id="num1">нажми на эту строку</div>
  </body>
имеется ТРИ ноды: две текстовых (ДО и ПОСЛЕ тега <DIV>) и сам тег <DIV>.

А если перепишете тоже самое иначе - в одну строку:
HTML5
1
<body onload="alert (document.body.childNodes.length)"><div id="num1">нажми на эту строку</div></body>
то в теге <BODY> станет две ноды: тег <DIV> и текстовая нода (перевод строки) после тега <DIV> (после блочного тега ВСЕГДА имеется перевод строки, хоть его бывает и не видно в HTML-коде).
-----

Ну а классическим будет пример:
HTML5
1
2
3
4
<body onload="alert (document.body.childNodes.length)">
Быстро
<div id="num1">нажми на эту строку</div>
</body>
Первая нода - текстовая. Имеющая textContent = "Быстроперевод строки"
Вторая нода - тег <DIV>. Имеющий textContent = innerHTML = "нажми на эту строку"
Третья нода - текстовая. Имеющая textContent = "перевод строки"
1
16 / 16 / 1
Регистрация: 11.07.2012
Сообщений: 151
15.08.2012, 12:45  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
Первая нода - текстовая. Имеющая textContent = "Быстроперевод строки"
Вторая нода - тег <DIV>. Имеющий textContent = innerHTML = "нажми на эту строку"
Третья нода - текстовая. Имеющая textContent = "перевод строки"
т.е. можно сказать нода это просто какая-либо запись?

Добавлено через 12 минут
или еще проще - Node это какая-либо единица материала (контента)

правильно? )
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.08.2012, 12:46
JSjunior, нет.
Ноды - это дети родителя.
Дети бывают двух полов - мальчики и девочки.
А ноды - двух типов: текстовые и теги.

Для вашего примера:
HTML5
1
2
3
  <body>
    <div id="num1">нажми на эту строку</div>
  </body>
тег <body> -- родитель
перевод строки+четыре пробела -- девочка (текстовая нода)
<div id="num1">нажми на эту строку</div> -- мальчик (нода - HTML-тег)
перевод строки+два пробела -- девочка (текстовая нода)

В английском языке у слова Node - аж 12-ть значений: http://dictionary.reference.com/browse/node?s=t
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.08.2012, 12:46
Помогаю со студенческими работами здесь

Как упростить код убрав "повторения"?
Есть рабочий код. events: { load: function () { var GRAPH_1_series_0 = this.series; var GRAPH_1_series_1 = this.series; ...

Есть select и при нажатии на кнопку загружается определенный html файл. Как можно упростить код?
Есть select и при нажатии на кнопку загружается определенный html файл. Как можно упростить код,чтобы не писать условия под каждую...

Посоветуйте как упростить код? :)
Привет, практикуюсь в jquery, подскажите как можно упростить то что у меня вышло?

Как упростить повторяющийся код
Всем добрый вечер. Есть два куска кода, которые отвечают за автокоплит допустим городов и улиц. У них почти всё одинаковое. И каждый раз...

Как можно упростить доступ к функциям внутри плагина
Допустим есть плагин: (function($){ //управение каталогом товаров var abc = $(&quot;#id&quot;); $.Products = { init :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru