ReferenceError: "x" is not defined

Foutmelding

ReferenceError: "x" is not defined

Type fout

ReferenceError.

Wat is er fout gegaan?

Er is ergens een niet bestaande variabele genoemd. Deze variabele moet je declarenen, of je moet er voor zorgen dat hij beschikbaar is in het script of scope.

Notitie: Wanneer je een library (zoals jQuery) laadt, zorg er dan voor dat die geladen is voordat je de library's variabelen wilt gebruiken zoals "$". Zet het <script> taf die de library laadt, voor de code die de variabele gebruikt.

Voorbeelden

Variabele niet gedefineerd

foo.substring(1); // ReferenceError: foo is not defined

De "foo" variable is nergens gedefineerd. De variabele moet een string zijn, zodat de String.prototype.substring() method kan werken.

var foo = "bar";
foo.substring(1); // "ar"

Verkeerde scope

Een variabele moet beschikbaar zijn in de huidige context of execution. Variabelen gedefineerd binnen een functie kunnen niet van ergens anders buiten de functie worden benarderd, omdat de variabele alleenmaar in de scope van de functie gedefineerd is

function numbers () { 
  var num1 = 2, 
      num2 = 3;
  return num1 + num2;
}

console.log(num1); // ReferenceError num1 is not defined.

Maar, een functie kan alle andere variabelen benaderen in de scope waarin hij gedefineerd is. Oftewel, een functie die in de global scope is gedefineerd, kan alle variabelen benaderen in de global scope.

var num1 = 2,
    num2 = 3;

function numbers () {
  return num1 + num2; 
}

console.log(num1); // 2

Zie ook

Documentlabels en -medewerkers

 Aan deze pagina hebben bijgedragen: papierbouwer
 Laatst bijgewerkt door: papierbouwer,