Можно использовать следующую команду:
:%s/^V^M//g
, где '^' означает использование CTRL ключ.
Когда дело доходит до «объектно-ориентированного» JavaScript, вот хорошее руководство, Марк Дикинсон, здесь, по SO, связанное с: Частные члены в JavaScript . В нем подробно рассказывается о некоторых других вещах, которые вам сейчас действительно не нужны, но как только вы поймете, как работает JavaScript, вы увидите, что он сильно отличается от вашего обычного объектно-ориентированного языка, когда дело касается таких вещей, как это
действительно означает.
Я бы сказал, что в вашем случае вам обязательно следует использовать this
, но, возможно, ваши функции должны быть в prototype
части вашего " class "(это позволяет избежать переопределения функции каждый раз при создании нового экземпляра.)
Я нашел 3 способа определения класса javascript полезными.
Просто чтобы подчеркнуть и посочувствуйте предыдущему ответу @ tj111, я предлагаю вам прочитать this . Чтобы лучше понять область действия функций.
В данном конкретном случае лучше использовать саморегулирующуюся переменную вместо this
, чтобы предотвратить путаницу и головную боль внутри функций.
function Foo()
{
var self = this;
this.bar= function()
{
alert('bar');
}
this.baz= function()
{
self.bar();
}
}
Причина этого. потому что, поскольку все в javascript является объектом, ключевое слово this
внутри функции относится к родительской функции. Определив переменную в определенной области, вы гарантируете, что переменная сохранит свою область видимости.
Правильная версия - это та, которая не выдает ошибку при попытке вызвать функцию. Если опустить этот
, вы получите исключение ReferenceError
.
В другом посте о «псевдониме функций» в JavaScript я подробно объяснил с примерами, как «this» работает в JavaScript. Думаю, это может быть вам полезно.
Пожалуйста, проверьте: Похоже, что псевдонимы функций JavaScript не работают