Wie Sie den Wert eines Objekts für den Zugriff von innerhalb einer Methode des gleichen Objekts in Javascript?

StackOverflow https://stackoverflow.com/questions/1822258

Frage

Ich versuche, eine toBool () „Methode“ im Innern des Object-Objekt Prototyp ... so etwas wie dies hinzuzufügen:

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()) 

Aber ich habe ein Problem versuchen, den Wert des Objekts für den Zugriff aus dem Innern der gleichen Objektmethode this.toLowerCase()

Wie soll es getan werden?

War es hilfreich?

Lösung

Der Code funktioniert nicht, weil toLowerCase () ein Verfahren zum String ist, aber nicht von Nummer. Also, wenn Sie versuchen, toLowerCase () auf der Nummer 1 zu nennen, es funktioniert nicht. Eine Lösung wäre, nur die Nummer Zeichenfolge zu konvertieren zuerst:

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);
 }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top