Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2012, 18:22
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Проверить данные в функции, которая работает с другой функцией.
Здравствуйте!

Помогите разобраться! Чувствую, что решение простое, но голова кругом идет, т.к. новичок.

Есть некая функция vid, которая после вызова vid(); в нужном месте поочередно выводит заданные данные путем их обработки в другой функции:

function vid()
{
nvg(a1);nvg(a2);nvg(b1);
};



Возникла специфическая задача проверить, есть ли в функции vid() задача обработать нужный параметр. Скажем, нужно найти, задавался ли на обработку параметр 'b' с любым индексом после этой буквы. Т.е. код обращения к другой функции нужно рассмотреть как строку.

Пытаюсь так:

strk = vid();

if (strk.match('b'))
{
alert ('есть такой параметр');
}
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2012, 20:29
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Andrej_2,
Так в переменную сохранится результат выполнения функции.
strk = vid();

Попробуй так:
strk = vid.toString();
Ответить с цитированием
  #3 (permalink)  
Старый 26.09.2012, 23:37
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

забавно , а нафига это надо ?
Может можно логику приложения, изменить, всё будет по удачнее чем этот загадочный костыль.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2012, 23:39
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от DjDiablo
Может можно логику приложения, изменить, всё будет по удачнее чем этот загадочный костыль.
иногда это бувает невозможно. пример - API укоза.
Ответить с цитированием
  #5 (permalink)  
Старый 27.09.2012, 11:37
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Hoshinokoe, спасибо. Все работает.

Зачем это нужно?
Попробую объяснить вкратце. Задумал некое подобие SSI на JS, чтобы сделать движок для бесплатного хостинга (и платного, но подешевле). Есть настроичный внешний JS, в котором коротко и доступно (т.е. в виде массива без разметки) даны пункты боковых меню и подменю. Этот скрипт можно оперативно менять. (для индексации поисковиком есть еще файл со ссылками). И есть еще один внешний JS, который берет предыдущий скрипт с пунктами меню и выводит их на странице в нужной очередности, заданной как раз vid(). Там сложный вывод -- с автоподстановкой повторяющегося кода, с абсолютным позиционированием по оперативно вычисляемым координатам якорей предыдущих блоков меню и пр. А для этой конкретной задачи решил еще расширить возможности, чтобы сделать меню слева и справа. Т.е. скрипт смотрит, что прописано в функции vid() как в строке и определяет, была ли команда выводить какой-нибудь код справа -- и тогда изменяет разметку, чтобы было место и под правые блоки. Аналогично с левыми блоками. Можно, конечно, задать команду выводить конкретные блоки в виде массива, а потом функцией подставлять наименования блоков для обработки в другой функции, но решил, что так элегантнее: код короче и изменять в настройках мешьше и проще. Как-то так. Еще раз спасибо Hoshinokoe.
Ответить с цитированием
  #6 (permalink)  
Старый 27.09.2012, 22:42
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Надеюсь вы хотябы для nodejs пишите, ибо сборка страницы на клиенте с поисковиками несовместима.
файл со ссылками, сомнительный костыль, который в лучшем случае отправит страницу в конец списка найденных сайтов.

Что касается технологий всётаки я бы советывал применить json вместо js
посмотрите как это сделали в БЭМ http://bem.github.com/bem-method/pag...inning.ru.html
видео до кучи, в котором дама волнуется, и непонятно рассказывает о технологииhttp://events.yandex.ru/talks/169/


Решение на поиске чегото в коде функции не применимо на практике, ибо неучитывает логики внутри функции. Это сведёт с ума программиста, который будет пытаться понять, почему функция заремарена а блок справа под неё всё равно создаётся. Помимо ремарок есть циклы, условия, рекурсия, вынос кода в сторонние функции. Нельзя же просто взять и проигнорировать поток исполнения.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 28.09.2012 в 00:48.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача функции другой функции ntro123 jQuery 3 20.02.2011 12:15
Подскажите карусель, которая работает без какого либо фреймворка Khmelevsky Библиотеки/Тулкиты/Фреймворки 2 25.04.2010 12:45
Функция которая работает на OnLoad не хочет работать на OnClick libinstyle Элементы интерфейса 6 23.03.2010 01:42
Конструкция не пашет в функции , а в событии работает FRIE jQuery 1 05.03.2010 11:38
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03