Федеральная Служба Опасности (malaya_zemlya) wrote,
Федеральная Служба Опасности
malaya_zemlya

Category:

Джаваскрипт и пробелы

Давно известно, что джаваскрипт допускает использование юникода в сорсах, что позволяет писать пассажи типа

var переменная, блин, ᕙᐛᕗ;


пользоваться одинаковыми на вид буквами с разной кодировкой:

>臭 = 1, 臭 = 2;
>臭+臭
3


и даже писать справа налево:

var ש = 1;


Чего я не знал, это что джаваскрипт считает за буквы даже несколько пробелообразных* символов:

> ᢪ= + 1,ㅤ= + 2
>ᢪ+ㅤ
3


и что один из этих символов тоже пишется справа налево:

>function ᢪ ( ؠ2) { return 1 - ؠ2}
>function  ㅤ( ؠ2) { return ؠ2 - 1}
> ᢪ( 2 ) - ㅤ( 1 )
-1


Веселого программирования!

---
* Использовались стандартные шрифты на макинтошевских Хроме и Файрфоксе. Кто скажет, как оно на виндах/линуксе выглядит, у меня под рукою сейчас нет?

Update: на виндах кажется все выглядит более понятно. Мораль: тестируйте код на всех платформах
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments