Các tình nguyện viên của chúng tôi chưa dịch bài viết này thành Tiếng Việt. Tham gia với chúng tôi và hoàn thành công việc!
Bạn cũng có thể đọc bài viết trongEnglish (US).


ReferenceError: "x" is not defined

Error type


What went wrong?

There is a non-existent variable referenced somewhere. This variable needs to be declared, or you need to make sure it is available in your current script or scope.

Note: When loading a library (such as jQuery), make sure it is loaded before you access library variables, such as "$". Put the <script> tag that loads the library before your code that uses it.


Variable not declared

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

The "foo" variable isn't defined anywhere. It needs to be some string, so that the String.prototype.substring() method will work.

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

Wrong scope

A variable needs to be available in the current context of execution. Variables defined inside a function cannot be accessed from anywhere outside the function, because the variable is defined only in the scope of the function

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

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

However, a function can access all variables and functions defined inside the scope in which it is defined. In other words, a function defined in the global scope can access all variables defined in the global scope.

var num1 = 2,
    num2 = 3;

function numbers() {
  return num1 + num2; 

console.log(numbers()); // 5

See also

Document Tags and Contributors

Những người đóng góp cho trang này: boblamceo, mdnwebdocs-bot, SphinxKnight, yuiyoo, toni-leigh, fscholz, izidima, ijazhassan, nmve, foxeshavedens
Cập nhật lần cuối bởi: boblamceo,