|
{c0Der}
|
|
определение файла, в контексте которого выполняется функция20.07.2012, 11:31. Показов 3145. Ответов 11
Метки нет (Все метки)
Есть ли возможность в JS определять текущий файл скрипта, в котором выполняется код?
Т.е., к примеру, одна и таже функция запускается из файла script1.js и из файла script2.js...
0
|
|
| 20.07.2012, 11:31 | |
|
Ответы с готовыми решениями:
11
Вычислить время до мс, в течение которого выполняется код Найти первый член x(n), для которого выполняется условие |
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 20.07.2012, 11:39 | |
|
Пропишите два разных alert'a в этих функциях - какой-то сработает.
Так и узнаете. А специальных методов, которые обрисовали бы всю последовательность исполнения кода, не существует.
1
|
|
|
{c0Der}
|
||
| 20.07.2012, 11:44 [ТС] | ||
|
Можно тогда хотя бы определять текущую "позицию" как либо считывая текущий элемент html? Но не document.write, а как-нибудь "тихо"?
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 20.07.2012, 12:04 | ||
|
Повторяю во второй раз - каких-то специальных методов, отслеживающих изменение переменных JS-кода, НЕ СУЩЕСТВУЕТ.
1
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 20.07.2012, 12:42 | ||
|
С помощью технологии AJAX можно передать на страницу JS-код со множеством функций и поместить этот JS-код как строку в переменную myjscode. Чтобы эти функции "прижились" на странице, нужно создать блок <script id="myscript"></script> на этой странице и в качестве свойства text этого блока поместить туда переданный на страницу JS-код, вот так: document.getElementById ('myscript').text = myjscode; Затем можно передать вторую порцию JS-кода, снова запомнить его как строку в ту же переменную myjscode и тоже поместить в этот же скриптовой блок, полностью уничтожив предыдущий код ("первую порцию"). И, наконец, после всего этого можно очистить этот скриптовой блок document.getElementById ('myscript').text = ''; Но, что самое интересное, все функции - и из первой порции, и из второй - они ВСЕ будут работать, хотя их JS-кода на странице более нет. ----- Мысль поняли? Страница - это "авоська", в которую ссыпаются все-все-все переменные, функции и прочие JS-объекты из разных "магазинов" (из скриптовых блоков, из подключаемых файлов). Ссыпаются и перемешиваются. Узнать потом - что из какого магазина - НЕЛЬЗЯ В ПРИНЦИПЕ. Только если не пометить "чеком" (каким-то alert'ом) каждую из "покупок". Так что на вопрос "как пройти в библиотеку?" в этом случае как раз и стоит ответить - "идите сходите в кафе, испейте чашечку, охолонитесь. Мей би, поймёте, что библиотеки здесь нет".
1
|
||
|
{c0Der}
|
|
| 20.07.2012, 12:58 [ТС] | |
|
kalabuni, уважаемый, боюсь вас расстраивать, но у вас обнаружен синдром профессора.
Не стоит делать фундаментальные заявления, не зная объект обсуждения досконально... Я могу, к примеру, при каждом вызове ф-ии парсить "this", и анализируя текущее состояние определять из какого места ф-ия вызвана, но это слишком сложно и "некрасиво"... З.Ы. если вы чего-то не знаете, не стоит заявлять что этого чего-то не существует...
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 20.07.2012, 13:16 | ||||||
|
Markus_13, также боюсь вас расстроить, но у вас, походу, неизлечённый синдром клоуна.
Этот самый некрасивый this даст вам объект, с которым в данное время вы работаете. Но вот место, где этот объект был сформирован/определён, вы не узнаете. Пробуя ложку со "сборной солянкой", можно определить - имеется ли там морковка, сало или картофель... Но вот определить по вкусу - в каком конкретном магазине покупались эти самые морковка, сало и картофель вам, увы, не удастся. ----- Не согласны? Плиз, опровергните моё утверждение. На этом простейшем примере добейтесь, чтобы при исполнении функции f1 () вами где-то был бы получен идентификатор sc1, а при выполнении f2 () - идентификатор sc2. Свяжите функцию с местом её определения. Если вам это удастся - особливо с помощью this - я... даже не знаю что сделаю. Съем свои грязные носки, и видео выложу здесь, идёт?
0
|
||||||
|
{c0Der}
|
||||||||||||
| 20.07.2012, 13:31 [ТС] | ||||||||||||
|
Создаем html-файл:
"[58] [120] "
0
|
||||||||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||||
| 20.07.2012, 13:51 | ||||||||
|
Чем мой "клоун" хуже/лучше вашего "профессора"? Неужто мама вам в детстве не читала - "Все профессии нужны, все профессии важны"? Восполните пробел в образовании/воспитании - http://www.openclass.ru/node/143495 ----- Чуть переделываю:
0
|
||||||||
|
{c0Der}
|
||
| 20.07.2012, 14:42 [ТС] | ||
|
- Да ладно! Вот я вытаскиваю эту и эту карты и он рухнул... З.Ы. хватит оффтопить, ответа на мой вопрос вы не знаете, и то пытаетесь меня оскорбить, то пишете никак не относящийся к обсуждаемой теме текст. Все равно мы ни к какому консенсусу не придем - вы просто не умеете "слышать" собеседника...
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 20.07.2012, 15:15 | ||||||
|
Markus_13, собеседники бывают разные.
Есть и такие, которых услышать-то можно, но вот разобрать их слова нельзя. Это как раз такие, которые своих "профессоров" оскорблением не считают, а на чужих "клоунов" обижаются. Вопрос стоит в том, чтобы программно (sic!) определить - в каком из файлов была помещена инструкция, коя в данный момент исполняется.
Я могу переделать, например, так, что будет меняться время вызова функции (через объект Date ()) Или сделать функцию-итератор, и она в первом случае выведет единичку, а во втором - двойку. Или ещё как-то... Но по-любому НЕВОЗМОЖНО показать при выполнении функции - в каком конкретно месте JS-кода эта функция определена. И невозможно определить конкретное место JS-кода, где эта функция вызвана. Поймите вы, наконец-то, что браузер прочитывает JS-код построчно, по мере его загрузки и уже САМ, в своих внутренностях, каким-то образом все эти объекты, переменные и функции "устаканивает", размещает их по каким-то своим "полочкам". Браузеру без разницы - во внешнем файле функция была определена, в скриптовом блоке или ещё как-то. Он эту информацию НЕ СОХРАНЯЕТ. Ибо она ему НЕ НУЖНА. Соответственно, и вы эту информацию получить НЕ СМОЖЕТЕ.
0
|
||||||
| 20.07.2012, 15:15 | |
|
Помогаю со студенческими работами здесь
12
Вычислить номер элемента, для которого НЕ выполняется условие Найти первый член для которого выполняется условие
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами 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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|