Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не ругайте господа, просто дайте глоток воздуха / 12 сообщений из 12, страница 1 из 1
11.01.2005, 18:47
    #32859982
oracle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
Вопрос, подскажите на русском
что значит следуюищий синтаксис

function myFunction(elemID) {
var elem = (document.getElementById) ? document.getElementById("elemID") :
((document.all) ? document.all("elemID") : null);
if (elem) {
// process element here
}
}

а именно выпросительный знак и т.д. только не ругайте, сегодня только JavaScript увидел

O*R*A*C*L*E
(Don't despair my little fried...)
...
Рейтинг: 0 / 0
11.01.2005, 18:53
    #32859989
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
Вообще-то это конструкция типа оператора ветвления IF else, только вместо IF - ?, а вместо ELSE - ":".
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
11.01.2005, 19:06
    #32860005
a_bozhkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
Используется стандартный оператор C++ подобных языков:
$res = a ? 1 : 0, что есть сокращенная запись обычного условия if then else:

if a есть (ноль или null)
то $res = 0
иначе $res = 1.
В вашем случае имеет место двухуровневая конструкция типа:
$res = a ? 1 : (b ? 2 : 0), что эквивалентно следующему:

if (!empty(a))
{
$res = 1
}
elseif (!empty(b))
{
$res = 2
}
else
{
$res = 0
}, где empty(x) = false, если x=0 или x is null, ! - оператор отрицания not.
...
Рейтинг: 0 / 0
11.01.2005, 19:15
    #32860013
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
А, вообще, непонятный скрипт. В плане того, что проверяют и каким образом.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
11.01.2005, 19:35
    #32860033
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
4m@t!cА, вообще, непонятный скрипт. В плане того, что проверяют и каким образом.

В ie4 например getelementbyid нету зато есть document.all вот и проверка стоит
...
Рейтинг: 0 / 0
12.01.2005, 00:14
    #32860147
oracle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
Большое всем спасибо

O*R*A*C*L*E
(Don't despair my little fried...)
...
Рейтинг: 0 / 0
12.01.2005, 10:11
    #32860410
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
sky2k
В ie4 например getelementbyid нету зато есть document.all вот и проверка стоит
Но document.all есть в более поздних версиях. почему не проверить только document.all?
Я просто не спец в ЯваСкрипт - вот и спрашиваю.
...
Рейтинг: 0 / 0
12.01.2005, 13:11
    #32860978
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
getElementById - это стандарт, который поддерживается не только IE
...
Рейтинг: 0 / 0
12.01.2005, 14:20
    #32861172
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
Макс М.getElementById - это стандарт, который поддерживается не только IE
Это стандарт ECMA. Общипринятый. Я понимаю, если бы проверяли ИЕ или Нетскейп, а так - смысла в таком хитроумном коде - я не вижу...
...
Рейтинг: 0 / 0
12.01.2005, 14:20
    #32861174
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
4m@t!c
Но document.all есть в более поздних версиях. почему не проверить только document.all?


потому что это выдумка микрософта и с такой проверкой отпадут другие браузеры
в последней версии мозиллы тоже ввели document.all, но ведь полно старых версий этого бравзера
...
Рейтинг: 0 / 0
12.01.2005, 14:36
    #32861222
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
getElementById - это стандарт, и на соклько я заню - бурзера, который не поддерживает эту функцию - я не знаю... Что они отсеивают этим условием - понятия не имею.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
13.01.2005, 01:34
    #32862249
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не ругайте господа, просто дайте глоток воздуха
a_bozhkovИспользуется стандартный оператор C++ подобных языков:
$res = a ? 1 : 0, что есть сокращенная запись обычного условия if then else:

if a есть (ноль или null)
то $res = 0
иначе $res = 1.
В вашем случае имеет место двухуровневая конструкция типа:
$res = a ? 1 : (b ? 2 : 0), что эквивалентно следующему:

if (!empty(a))
{
$res = 1
}
elseif (!empty(b))
{
$res = 2
}
else
{
$res = 0
}, где empty(x) = false, если x=0 или x is null, ! - оператор отрицания not.

В завершение остаётя лишь добавить, что называется эта конструкция условной тернарной операцией.)
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не ругайте господа, просто дайте глоток воздуха / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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