Как получить доступ к значению объекта изнутри метода того же объекта в Javascript? - PullRequest
0 голосов
/ 30 ноября 2009

Я пытаюсь добавить метод toBool () внутри объекта Object, используя прототип ... примерно так:

Object.prototype.toBool = function ()
{
 switch(this.toLowerCase())
 {
  case "true": case "yes": case "1": return true;
  case "false": case "no": case "0": case null: return false;
  default: return Boolean(string);
 }
}

var intAmount = 1;
if(intAmount.toBool()) 

Но у меня возникла проблема при попытке получить доступ к значению объекта из того же метода объекта this.toLowerCase()

Как это сделать?

1 Ответ

1 голос
/ 30 ноября 2009

Ваш код не работает, потому что toLowerCase () является методом String, но не Number. Поэтому, когда вы пытаетесь вызвать toLowerCase () с номером 1, это не работает. Решением было бы просто преобразовать число в строку сначала:

Object.prototype.toBool = function ()
{
 switch(String(this).toLowerCase())
 {
  case "true": case "yes": case "1": return true;
  case "false": case "no": case "0": case null: return false;
  default: return Boolean(string);
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...