2013-03-30 4 views
0

Я новичок в javascript и задаюсь вопросом, что, вероятно, глупо.Получить переменную из метода, вызванного этой переменной, без использования параметров

Контекст

or это метод, который я написал сам для класса Струнного через обезьяну заплаты.

Вопрос

Я хочу, чтобы иметь возможность вызвать метод or так:

'dog'.or('cat') 

Проблема заключается в том, что метод or должен знать о строке, что она была вызвана.

Есть ли какой-либо доступ к 'dog' изнутри метода or, не передавая его в качестве параметра?

+0

Не могли бы вы добавить, как вы обезьяна исправлен класс String? – m90

ответ

2

К нему можно обратиться с помощью ключевого слова this. Read more.

Вот пример:

String.prototype.show = function() 
{ 
    alert(this); 
} 
"Hello, World!".show(); 

See it in action.

+1

Хороший ответ. Обратите внимание, что если не в строгом режиме «собака» передается как «это» в метод или не является «не» строкой «собака», а скорее объектом String, который автоматически помещает строку примитивного значения «собака», поэтому вызов valueOf может быть необходимо. –