Jump to content
  • 0

Побитовые операции в JavaScript работают не как в php


freeneutron
 Share

Question

Возьмем побитовую операцию - Побитовое исключающее ИЛИ

В php код:

$s='aaaa'^'abab'; echo strlen($s);

дает 4

В то врема, как в JavaScript код:

s='aaaa'^'abab'; alert(s.length);

дает undefined

Видно, что функциональность JavaScript в этом отношении ограничена по сравнению с php. И напрашивается вопрос.

Есть ли в JavaScript аналог php-побитовых операции?

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
Возьмем побитовую операцию - Побитовое исключающее ИЛИ

В php код:

$s='aaaa'^'abab'; echo strlen($s);

дает 4

В то врема, как в JavaScript код:

s='aaaa'^'abab'; alert(s.length);

дает undefined

Видно, что функциональность JavaScript в этом отношении ограничена по сравнению с php. И напрашивается вопрос.

Есть ли в JavaScript аналог php-побитовых операции?

Начните изучения языка с прочтения документации. Да, конечно же, побитовые операции есть.

Link to comment
Share on other sites

  • 0

Сразу оговорюсь, что я не понимаю ничего в побитовых операциях, поэтому могу и глупость сказать, но может дело в типе переменной?

Типа:

var s = 'aaaa'^'abab';
alert(typeof s);

а метод .length вроде как метод стринга... потому и undefined.

Link to comment
Share on other sites

  • 0

Как хорошо, что на рынке полно ленивых и слабых программистов. У меня никогда не закончится ни хлебушек, ни маслице.

Держи, прогроммизд:

https://developer.mozilla.org/en/Core_JavaS...twise_Operators

Link to comment
Share on other sites

  • 0

А вот мне интересно, у человека же происходит операция со строками, а не с числами.

Гуглил-гуглил да не выгуглил как со строками работать? Ведь:

var x = 'aaaa';
var y = 'bbbb';
var s = x ^ y;
alert(s); // всегда равно 0, при любом значении x и y

а parseInt(x) = NaN;

Вот и вопрос, как быть в таком случае?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy