Проверить данные в функции, которая работает с другой функцией.
Здравствуйте!
Помогите разобраться! Чувствую, что решение простое, но голова кругом идет, т.к. новичок. :) Есть некая функция vid, которая после вызова vid(); в нужном месте поочередно выводит заданные данные путем их обработки в другой функции: function vid() { nvg(a1);nvg(a2);nvg(b1); }; Возникла специфическая задача проверить, есть ли в функции vid() задача обработать нужный параметр. Скажем, нужно найти, задавался ли на обработку параметр 'b' с любым индексом после этой буквы. Т.е. код обращения к другой функции нужно рассмотреть как строку. Пытаюсь так: strk = vid(); if (strk.match('b')) { alert ('есть такой параметр'); } |
Andrej_2,
Так в переменную сохранится результат выполнения функции. strk = vid(); Попробуй так: strk = vid.toString(); |
забавно , а нафига это надо ?
Может можно логику приложения, изменить, всё будет по удачнее чем этот загадочный костыль. |
Цитата:
|
Hoshinokoe, спасибо. Все работает.
Зачем это нужно? Попробую объяснить вкратце. Задумал некое подобие SSI на JS, чтобы сделать движок для бесплатного хостинга (и платного, но подешевле). Есть настроичный внешний JS, в котором коротко и доступно (т.е. в виде массива без разметки) даны пункты боковых меню и подменю. Этот скрипт можно оперативно менять. (для индексации поисковиком есть еще файл со ссылками). И есть еще один внешний JS, который берет предыдущий скрипт с пунктами меню и выводит их на странице в нужной очередности, заданной как раз vid(). Там сложный вывод -- с автоподстановкой повторяющегося кода, с абсолютным позиционированием по оперативно вычисляемым координатам якорей предыдущих блоков меню и пр. А для этой конкретной задачи решил еще расширить возможности, чтобы сделать меню слева и справа. Т.е. скрипт смотрит, что прописано в функции vid() как в строке и определяет, была ли команда выводить какой-нибудь код справа -- и тогда изменяет разметку, чтобы было место и под правые блоки. Аналогично с левыми блоками. Можно, конечно, задать команду выводить конкретные блоки в виде массива, а потом функцией подставлять наименования блоков для обработки в другой функции, но решил, что так элегантнее: код короче и изменять в настройках мешьше и проще. Как-то так. Еще раз спасибо Hoshinokoe. |
Надеюсь вы хотябы для nodejs пишите, ибо сборка страницы на клиенте с поисковиками несовместима.
файл со ссылками, сомнительный костыль, который в лучшем случае отправит страницу в конец списка найденных сайтов. Что касается технологий всётаки я бы советывал применить json вместо js посмотрите как это сделали в БЭМ http://bem.github.com/bem-method/pag...inning.ru.html видео до кучи, в котором дама волнуется, и непонятно рассказывает о технологииhttp://events.yandex.ru/talks/169/ Решение на поиске чегото в коде функции не применимо на практике, ибо неучитывает логики внутри функции. Это сведёт с ума программиста, который будет пытаться понять, почему функция заремарена а блок справа под неё всё равно создаётся. Помимо ремарок есть циклы, условия, рекурсия, вынос кода в сторонние функции. Нельзя же просто взять и проигнорировать поток исполнения. |
Часовой пояс GMT +3, время: 09:57. |