Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   UpJump: Q&A :) (https://javascript.ru/forum/misc/14421-upjump-q.html)

x-yuri 01.02.2011 14:09

в первом случае объект сранивается со строкой. В каком разделе у него такой код?

UpJump 01.02.2011 14:21

Все само разрешилось. Извиняюсь за чухню которую написал. Недосмотрел код.

Aetae 01.02.2011 21:15

Вообще можно и так
alert({}=='[object Object]')

но так делать нельзя.)))

B@rmaley.e><e 01.02.2011 21:48

В данном случае будет просто вызван метод toString операнда. Примерно таким образом, ЕМНИП, рекомендуют проводить проверку на массив:
var arr = [];
alert(Object.prototype.toString.call(arr) === '[object Array]');

Aetae 01.02.2011 22:07

Эт ясно, только разные браузеры методом toString могут такой чухни понаписать) Если с object и array ещё нормально то dom элементы весьма разнятся.

UpJump 05.02.2011 19:19

Всем привет. Это снова я:write:
var str = 'hello "Java"';
alert(str.match(/a|"([^"]*)"/));

Собственно не понял почему не происходит выборка символа а в массив. Ведь при проверке текста с помощью к примеру
/x|y/
если найден x то y искаться уже не должен.

Kolyaj 05.02.2011 19:26

Цитата:

Сообщение от UpJump
если найден x то y искаться уже не должен.

В вашем случае сначала найден y, а x находится внутри y.

UpJump 05.02.2011 21:00

блин что-то все равно в голове не уляжеться. а как тогда изменить что бы вначале нашел а но не удаляя вторую часть условия?
("([^"])*")
То есть искать а. если не найдено то искать ("([^"])*")

UpJump 05.02.2011 21:09

Кажется понял.
var str = 'hello "Java"';
alert(str.match(/a|"([^"]*)"/));

При выборке он проверяет каждый символ в строке и для каждого символа выполняет условие или. То есть вначале он проверяет h(если символ соответствует первому условию то записывает в массив, если нет то проверяет второе условие) затем e и так далее. То есть по очередности для каждого символа, а не первое условие на всю строку а затем второе условие на всю строку. Я все правильно понял?

Aetae 05.02.2011 21:55

Цитата:

Сообщение от UpJump (Сообщение 91281)
Я все правильно понял?

Да.


Часовой пояс GMT +3, время: 05:38.