Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Javascript не отрабатывает оператор 'in' / 18 сообщений из 18, страница 1 из 1
22.04.2009, 09:15
    #35945977
Cartouche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
       function PictureMoove()//Перемещение образа по нажатию
       {
        // alert(event.keyCode);
         if (event.keyCode in [ 37 , 38 , 39 , 40 ])
         {
//Вот сюда не заходит, хотя alert выдает соответствие с множеством
           CallServer_PictureMooveByKey("1;"+event.keyCode);
         }
       }
В чем может быть дело? Cпасибо
...
Рейтинг: 0 / 0
22.04.2009, 09:53
    #35946050
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Cartouche
Код: plaintext
1.
if (event.keyCode in [ 37 , 38 , 39 , 40 ])

А можно url где Вы взяли такой синтаксис?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.04.2009, 10:35
    #35946196
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Вероятно здесь ))))
...
Рейтинг: 0 / 0
22.04.2009, 11:29
    #35946391
Cartouche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
AntonariyВероятно здесь ))))
Грех смеяться, помогите лучше, плиииз...
:-)
...
Рейтинг: 0 / 0
22.04.2009, 11:32
    #35946411
Cartouche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Можно, конечно через
Код: plaintext
if ((event.keyCode= 37 )||(event.keyCode= 38 )||...)

Но с in как-то... Неужели не из той оперы
...
Рейтинг: 0 / 0
22.04.2009, 11:40
    #35946449
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Cartouche
Но с in как-то... Неужели не из той оперы

1. Вы, все же, дайте url на Ваш синтаксис. Или это Вы сами такое придумали по аналогии с паскакалем или SQL?
2. В JS'е in юзаецо
Код: plaintext
1.
2.
3.
4.
5.
var
	point={x: 1 ,y: 1 },
	has_x_coord="x" in point,
	has_y_coord="y" in point,
	has_z_coord="z" in point;
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.04.2009, 11:49
    #35946475
Cartouche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Ex_Soft
Cartouche
Но с in как-то... Неужели не из той оперы

1. Вы, все же, дайте url на Ваш синтаксис. Или это Вы сами такое придумали по аналогии с паскакалем или SQL?

Именно ;-) , и список можно продолжить.
Ну да ладно, буду, пока через:
Код: plaintext
if ((event.keyCode== 37 )||(event.keyCode== 38 )||...)
Спасибо за информацию.
...
Рейтинг: 0 / 0
22.04.2009, 11:52
    #35946487
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Операция in
Операция in возвращает true, если левый операнд является свойством правого операнда. Она имеет вид:
property in object
где property — строковое выражение, значением которого является имя свойства, или числовое выражение, задающее номер элемента массива, а object — любое объектное выражение. Примеры:

mynumber = new Number(); // новый объект
mynumber.high = 100; // новое свойство объекта
"high" in mynumber // возвращает true
langs = new Array("HTML", "CSS", "JavaScript", "Java");
0 in langs // возвращает true
4 in langs // возвращает false
...
Рейтинг: 0 / 0
22.04.2009, 13:16
    #35946842
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Код: plaintext
1.
if (event.keyCode in { 37 : 1 ,  38 : 1 ,  39 : 1 ,  40 : 1 })

А в данном конкретном случае можно и так:
Код: plaintext
1.
if ((event.keyCode >=  37 ) && (event.keyCode <=  40 ))
...
Рейтинг: 0 / 0
22.04.2009, 15:31
    #35947375
The_ShadoW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Еще про перебор списка забыли:
Код: plaintext
1.
2.
for (var i in array)

for (var prop in object)
...
Рейтинг: 0 / 0
22.04.2009, 17:11
    #35947782
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
списки лучше так не перебирать
...
Рейтинг: 0 / 0
24.04.2009, 10:50
    #35951881
The_ShadoW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Простите за тупой вопрос(ы), о гуру - но как тогда лучше перебирать списки? Почему?
...
Рейтинг: 0 / 0
24.04.2009, 12:29
    #35952246
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
списки надо перебирать индексатором
in захватит не только элементы массива, но и все добавленные методы-расширения и другие пользовательские свойства. проблема обсасывается со времен появления библиотеки prototype
...
Рейтинг: 0 / 0
24.04.2009, 17:48
    #35953248
The_ShadoW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
зысписки надо перебирать индексатором
in захватит не только элементы массива, но и все добавленные методы-расширения и другие пользовательские свойства. проблема обсасывается со времен появления библиотеки prototype
Разумеется.
Однако не все кидают куда попало методы-расширения (и другие пользовательские свойства), которые потом сами же и принимаются перебирать. А иногда и вовсе надо перебирать *именно* методы и прочую чешую.
Проблема весьма надуманная (ничем не лучше go to). Никто не заставляет использовать in. С другой стороны, от все-таки использующих его должно исходить понимание, как конкретно он работает.
...
Рейтинг: 0 / 0
24.04.2009, 17:56
    #35953269
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
проблема не надуманная, никто не знает кто и как будет править твой проект через пол года, зато очень оригинально, когда после добавления нового функционала падает совершенно нерелевантный, работающий годами кусок кода.
...
Рейтинг: 0 / 0
24.04.2009, 18:08
    #35953290
The_ShadoW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Это ж как надо извратиться с перебором, чтоб правильность\неправильность результата определялась количеством свойств в объекте (добавили новое - всё упало)?? А самое главное - чтоб об этом свойстве куска кода никто никогда не узнал, и потом порушил все.
...
Рейтинг: 0 / 0
24.04.2009, 18:15
    #35953298
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
Циклы -> Тест
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.04.2009, 18:28
    #35953336
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript не отрабатывает оператор 'in'
The_ShadoWЭто ж как надо извратиться с перебором, чтоб правильность\неправильность результата определялась количеством свойств в объекте (добавили новое - всё упало)??А что тут извращаться?
Добавили куда-нибудь тривиальное Object.prototype.func = function(){} (или Array.prototype.func = function(){}), и for-in уже не перебирает массив, как надо
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Javascript не отрабатывает оператор 'in' / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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