ๆญค้ ้ข็”ฑ็คพ็พคๅพž่‹ฑๆ–‡็ฟป่ญฏ่€Œไพ†ใ€‚ไบ†่งฃๆ›ดๅคšไธฆๅŠ ๅ…ฅ MDN Web Docs ็คพ็พคใ€‚

View in English Always switch to English

ReferenceError: "x" is not defined

JavaScript ็š„ใ€Œvariable is not definedใ€ไพ‹ๅค–ๆœƒๅœจๆŸ่™•ๅƒ่€ƒไบ†ไธ€ๅ€‹ไธๅญ˜ๅœจ็š„่ฎŠๆ•ธๆ™‚็™ผ็”Ÿ ใ€‚

่จŠๆฏ

ReferenceError: "x" is not defined๏ผˆๅŸบๆ–ผ V8 & Firefox๏ผ‰
ReferenceError: Can't find variable: x๏ผˆSafari๏ผ‰

้Œฏ่ชค้กžๅž‹

ReferenceErrorใ€‚

ๅ“ช่ฃกๅ‡บ้Œฏไบ†๏ผŸ

ๆŸ่™•ๅƒ่€ƒไบ†ไธ€ๅ€‹ไธๅญ˜ๅœจ็š„่ฎŠๆ•ธใ€‚้€™ๅ€‹่ฎŠๆ•ธ้œ€่ฆ่ขซๅฎฃๅ‘Š๏ผŒๆˆ–่€…ไฝ ้œ€่ฆ็ขบไฟๅฎƒๅœจไฝ ็›ฎๅ‰็š„่…ณๆœฌๆˆ–ไฝœ็”จๅŸŸไธญๆ˜ฏๅฏ็”จ็š„ใ€‚

ๅ‚™่จป๏ผš ็•ถ่ผ‰ๅ…ฅไธ€ๅ€‹ๅ‡ฝๅผๅบซ๏ผˆไพ‹ๅฆ‚ jQuery๏ผ‰ๆ™‚๏ผŒ่ซ‹็ขบไฟๅœจๅญ˜ๅ–ๅ‡ฝๅผๅบซ่ฎŠๆ•ธ๏ผˆไพ‹ๅฆ‚ใ€Œ$ใ€๏ผ‰ไน‹ๅ‰ๅฐฑๅทฒ็ถ“่ผ‰ๅ…ฅๅฎƒใ€‚่ซ‹ๅฐ‡่ผ‰ๅ…ฅๅ‡ฝๅผๅบซ็š„ <script> ๅ…ƒ็ด ๆ”พๅœจไฝฟ็”จๅฎƒ็š„็จ‹ๅผ็ขผไน‹ๅ‰ใ€‚

็ฏ„ไพ‹

่ฎŠๆ•ธๆœชๅฎฃๅ‘Š

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

ใ€Œfooใ€่ฎŠๆ•ธๆฒ’ๆœ‰ๅœจไปปไฝ•ๅœฐๆ–น่ขซๅฎš็พฉใ€‚ๅฎƒ้œ€่ฆๆ˜ฏไธ€ๅ€‹ๅญ—ไธฒ๏ผŒ้€™ๆจฃ String.prototype.substring() ๆ–นๆณ•ๆ‰่ƒฝ้‹ไฝœใ€‚

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

้Œฏ่ชค็š„ไฝœ็”จๅŸŸ

ไธ€ๅ€‹่ฎŠๆ•ธ้œ€่ฆๅœจ็›ฎๅ‰็š„ๅŸท่กŒไธŠไธ‹ๆ–‡ไธญๅฏ็”จใ€‚ๅœจๅ‡ฝๅผๅ…ง้ƒจๅฎš็พฉ็š„่ฎŠๆ•ธ็„กๆณ•ๅพžๅ‡ฝๅผๅค–้ƒจ็š„ไปปไฝ•ๅœฐๆ–นๅญ˜ๅ–๏ผŒๅ› ็‚บ่ฉฒ่ฎŠๆ•ธๅชๅœจๅ‡ฝๅผ็š„ไฝœ็”จๅŸŸไธญ่ขซๅฎš็พฉใ€‚

js
function numbers() {
  const num1 = 2;
  const num2 = 3;
  return num1 + num2;
}

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

็„ถ่€Œ๏ผŒไธ€ๅ€‹ๅ‡ฝๅผๅฏไปฅๅญ˜ๅ–ๅœจๅ…ถๅฎš็พฉ็š„ไฝœ็”จๅŸŸๅ…งๆ‰€ๅฎš็พฉ็š„ๆ‰€ๆœ‰่ฎŠๆ•ธๅ’Œๅ‡ฝๅผใ€‚ๆ›ๅฅ่ฉฑ่ชช๏ผŒๅœจๅ…จๅŸŸไฝœ็”จๅŸŸไธญๅฎš็พฉ็š„ๅ‡ฝๅผๅฏไปฅๅญ˜ๅ–ๅœจๅ…จๅŸŸไฝœ็”จๅŸŸไธญๅฎš็พฉ็š„ๆ‰€ๆœ‰่ฎŠๆ•ธใ€‚

js
const num1 = 2;
const num2 = 3;

function numbers() {
  return num1 + num2;
}

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

ๅƒ่ฆ‹