powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Применение arguments[0] при вызове функции...
10 сообщений из 10, страница 1 из 1
Применение arguments[0] при вызове функции...
    #39386019
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моё внимание привлёк любопытный пример применения сабжа - выкладываю адаптированный его вид здесь
Работает прекрасно - мышкой раскрываются все узлы списка, как и надобно.
Но при попытке перенести инлайновое подключение обработчика
Код: javascript
1.
<ul class="Container" onclick='tree_toggle(arguments[0]);'>

в отдельный js-файл - приходится записывать вызов функции вообще безо всяких скобок и без аргумента - просто tree_toggle и всё. Иначе - не работает. И через JQ - тоже приходится писать также, в "голом виде":
Код: javascript
1.
$('#txt').on('click', tree_toggle)


Ну, ладно - нашёл такой способ решения (без скобок и аргумента) - и можно быть довольным. Но мне всё равно интересно - для чего В ДАННОМ СЛУЧАЕ в инлайновом подключении обработчика применяется такой сложный аргумент - arguments[0] ?
Про псевдо-массив arguments я прочитал - в принципе, понял ЧТО это такое и ДЛЯ ЧЕГО может быть применено. Но применительно к моему конкретному случаю - всё равно не очень понятно.
Интуитивно догадываюсь, что, раз таким образом обеспечивается указание на самый первый аргумент функции из всего возможного списка переданных ей аргументов, то это, наверное, в данном случае применяется для обеспечения "глубокой целенаправленной" ссылки на конкретный "щёлкнутый" узел древовидного списка, дабы исключить из обработки его возможные родительские элементы.
Верно ли я понял? Если нет, то как по-другому ещё можно было бы записать такое подключение обработчика в инлайне и в отдельном js-файле? Сравнение способов записи мне помогло бы быстрее понять смысл данного конкретного применения arguments[0] в качестве аргумента функции.
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386025
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то сервис codepen.io барахлит - на всякий случай выкладываю архив с рабочим примером.
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386038
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznajkaНо мне всё равно интересно - для чего В ДАННОМ СЛУЧАЕ в инлайновом подключении обработчика применяется такой сложный аргумент - arguments[0] ?
По мне так чистый выпендреж.
Т.н. нидзя стайл. Запись поняного на непонятном...
neznajkaкак по-другому ещё можно было бы записать такое подключение обработчика в инлайне и в отдельном js-файле?
См. мой второй вариант...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function test(Val){
	alert(Val);
};
</script>
</head>
<body>
<ul class="Container" onclick='test(arguments[0]);'>
	<li>Test 0</li>
</ul>
<ul class="Container" onclick='test(event);'>
	<li>Test 1</li>
</ul>
</body>
</html>
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386044
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, krvsa - всё и вправду срабатывает идентично: что с arguments[0], что без него.
А то я уже и всерьёз запереживал, что от меня ускользает некий тайный смысл выражения arguments[0] :)
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386048
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznajkaА то я уже и всерьёз запереживал, что от меня ускользает некий тайный смысл выражения arguments[0] :)
Это все проклятые нидзаки...

...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386053
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
HTML5 позволяет лениться
Код: javascript
1.
2.
3.
4.
5.
6.
7.
<style>
</style>
<script>
function test(Val){
	alert(Val);
};
</script>
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386117
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznajka,

на всякий случай, дерево без Javascript 17491143
и древовидная таблица, три разных способа
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386123
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяHTML5 позволяет лениться
Что же мне, теперь все переделывать?
А я ведь такой же ленивый...
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386199
Фотография neznajka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, user89 - очень интересные способы организации деревьев. Наверняка может пригодиться. А с таблицей - вообще красиво сделано.
Но свой вариант деревьев я уже сделал на JS/JQ - там у меня сложный взаимозависимый алгоритм открывания-закрывания узлов, поэтому - без JS не обошлось. Победил. И даже работает :)
...
Рейтинг: 0 / 0
Применение arguments[0] при вызове функции...
    #39386265
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЧто же мне, теперь все переделывать?
А я ведь такой же ленивый...
главная заповедь :
работает - не трогай
это просто на будущее :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Применение arguments[0] при вызове функции...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]