|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
||||||
arguments08.02.2011, 13:23. Показов 2924. Ответов 31
Метки нет (Все метки)
Обнаружил наистраннейшую вещь - вот этот код:
Добавлено через 2 минуты Хм, это связано со ссылочными переменными. arg1 - ячейка массива, я её изменяю на тип object, а это ссылочный тип... и что-то непонятно... arg1-то не объект по началу и по идее не должен ссылаться...
0
|
||||||
| 08.02.2011, 13:23 | |
|
Ответы с готовыми решениями:
31
Arguments.callee.name arguments[] не могу понять что не так Write a function nextInLine which takes an array (arr) and a number (item) as arguments. |
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 08.02.2011, 15:00 | |
|
Hagrael, Это специально так и было задумано. Изменение формального параметра изменяет соответствующую запись в arguments и наоборот.
1
|
|
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
||||||
| 08.02.2011, 15:29 | ||||||
|
У объекта Arguments есть одна очень необычная особенность. Когда у функции имеются именованные аргументы, элементы массива объекта Arguments являются синонимами локальных переменных, содержащих аргументы функции. Массив arguments[] и именованные аргументы - это два разных средства обращения к одной переменной. Изменение значения аргумента через имя аргумента меняет значение, извлекаемое через массив arguments[]. Изменение значения аргумента через массив arguments[] меняет значение, извлекаемое по имени аргумента.
Пример:
2
|
||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 09.02.2011, 11:53 [ТС] | |
|
Значит, это исключение. Большое спасибо за такой подробный рассказ.
Добавлено через 18 часов 3 минуты Ещё один вопрос, он касается логических операций. Как я понял, при сравнении объектов и функций сравнивается их "url" в ОЗУ, а при сравнении переменных с др. типами сравнивается их значение. Так?
0
|
|
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
||||||
| 09.02.2011, 12:31 | ||||||
|
Hagrael, Если ты емеешь ввиду логическую операцию сравнения то существует два способа сравнения ==(равенство) и ===(идентичность).
В JS числовые, строковые и логические значения сравниваются по значению. В этом случае рассматриваются две различные величины, а операторы == и === проверяют, идентичны ли эти два значения. Это значит, что две переменные равны или идентичны, только если они содержат одинаковое значение. Например, две строки равны, только если обе содержат в точночти одинаковые символы. В то же время объекты, массивы и функции сравниваются по ссылке. Это значит, что две переменные равны, только если они ссылаются на один объект. Два различных массива не могут быть равными или идентичными даже если они содержат равные или идентичные элементы. Две переменные, содержащие сылки на объекты, массивы или функции, равны, только если они ссылаются на один и тот же объект, массив или функцию. Основное отличие операторов == и === заключается в том, что === возвращает false если типы двух переменных не совпадают, а == всё же пытается преобразовать один тип к другому. Пример:
1
|
||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 09.02.2011, 14:58 [ТС] | |
|
Kdn, ещё раз большое спасибо
Ещё один маленький вопросик - при перечислении for (prop in obj), где obj - массив, выдаваться будут только его ячейки, да?
0
|
|
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
||||||
| 09.02.2011, 15:09 | ||||||
|
Hagrael, Выдаваться куда? Если ты емеешь ввиду что будет записано в prop, то туда будет передан индекс массива, т.е:
1
|
||||||
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
||||||
| 09.02.2011, 16:22 | ||||||
|
Оператор for..in будет перечислять также свойства прототипа. Для отличия их от собственных свойств есть метод hasOwnProperty
1
|
||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 09.02.2011, 17:07 [ТС] | |
|
Всё понятно
0
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 15.02.2011, 13:45 [ТС] | |
|
А самому никакими средствами нельзя запретить показ каких-то функций при перечислении в цикле for in?
0
|
|
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
|
| 15.02.2011, 15:15 | |
|
Hagrael, Можно попробовать использовать замыкания.
В этом случае внутри объекта класса допустим ты храниш массив функций. Объект так же имеет одну функцию, скажем getFunction(index) . Она извлекает по индексу функцию. При вызове for in у данного объекта она покажет лишь getFunction. И Всё. Ну а если сложнее нужно то можно не по индексу а по имени например замаскировать. Если не понял, могу пример написать. Добавлено через 11 минут Да забыл сказать что такая реализация подойдёт для динамического создания функций. С наследованием через прототип такое не прокатит
0
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 15.02.2011, 15:48 [ТС] | |
|
Kdn, ну эта реализация очень убогая ИМХО.
0
|
|
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
|
| 15.02.2011, 16:57 | |
|
Hagrael, Я ведь не ясновидящий, и не знаю как и для чего тебе это вообще надо. Просто предлогаю вариант.Предложи лучше =)
0
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 15.02.2011, 17:01 [ТС] | |
|
Kdn, лучше ничего нет
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
||||||
| 16.02.2011, 16:55 | ||||||
1
|
||||||
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
|
| 16.02.2011, 17:18 | |
|
Vovan-VE,
Я ему предлагал использовать замыкания.
0
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 16.02.2011, 18:13 [ТС] | |
|
Vovan-VE, но и извне нельзя будет обратиться к функции bar.
0
|
|
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
|
| 16.02.2011, 18:26 | |
|
Hagrael, нельзя. И у дочернего класса bar так же будет не доступен.
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 16.02.2011, 18:30 | |
|
1
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 17.02.2011, 11:25 [ТС] | |
|
Не по теме: Vovan-VE, Kdn, а если не секрет, вы где-нибудь работаете? Или у вас свои проекты? Просто интересно, куда идет большая часть веб-программистов - на фирмы или создают свои проекты. Хотя последнее, как мне кажется, сделать сложно. Добавлено через 16 часов 30 минут А ведь получается, что при вызове функции все ее локальные переменные создаются и остаются в памяти до окончания просмотра страницы, так? Ведь как бы иначе работали замыкания?
0
|
|
| 17.02.2011, 11:25 | |
|
Помогаю со студенческими работами здесь
20
NoReverseMatch at / Reverse for 'detail_news' with arguments '('',)' and keyword arguments '{}' not found... Too many output arguments
Too few arguments to function Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|