Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

This в Javascript

В Javascript всем функциям передаётся скрытый аргумент this. При этом, если функция вызывается как foo() - то this в неё передается undefined, а если bar.foo() - то bar. Более того, при желании можно вызвать bar.foo, но передать в него произвольный this, а также передать какой-то this в "свободную" функцию.

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

Скажем, можно вместо передачи в функцию трёх аргументов передавать два, а третьим - this. Это ужасно. Столкнулся со случаем, когда в качестве this передается функция, и вызовы this() выглядят загадочно и странно для читающего код.
Tags: все пидарасы а я
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.
  • 33 comments