简体   繁体   English

未捕获的 ReferenceError: _ is not defined at<anonymous> :1:1(不是 jQuery)

[英]Uncaught ReferenceError: _ is not defined at <anonymous>:1:1 (Not jQuery)

.js file including an array of Strings which suppose to generate random words when one of the buttons click on the HTML page but for some reason it has a problem of scoping variables (as much as I've understood in other threads) but I don't know how to set it straight.. enter image description here .js 文件,包括一个字符串数组,当其中一个按钮单击 HTML 页面时,它假设生成随机单词,但由于某种原因,它存在范围变量的问题(正如我在其他线程中所了解的那样),但我不知道不知道如何直接设置..在此处输入图片说明

 var interval; var randomNum; function newSubject(str) { clearInterval(interval); randomNum = Math.floor(Math.random()*(str.length)); interval = setInterval(document.getElementById('generator').innerHTML = str[randomNum],1000); } **var adjectives** = [ 'מסוגל', 'מקסים', 'הרפתקני', 'חומצי', 'פעיל', 'מפחד', 'מזדקן', 'אגרסיבי', 'נעים', 'ערמומי', 'מדאיג', 'ערני', 'חי', 'מדהים', 'משועשע', 'עתיק', 'מתבייש', 'מושך', 'ממוצע', 'נורא', ]; var food = [ 'אוכל', 'קובנה', 'קוסקוס', 'המבורגר', 'לחם', 'גבינה', 'טבעוני', 'צמחוני', ]; var nature = [ 'עץ', 'שדה', 'דשא', 'רוח', 'אדמה', 'מים', 'אש', ]; var space = [ 'כדור הארץ', 'אטמוספרה', 'ירח', 'כוכבים', 'חללית', 'חלל חיצון', 'חייזר', 'ונוס', 'שמש', ]; var tech = [ 'מכונה', 'בינארי', 'אפס', 'אחד', 'מחשב', 'כוח עיבוד', ]; When buttons
 <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <title>Connection Freestyler</title> <meta name="description" content="Hebrew Freestyle Generator" /> <meta name="author" content="Connection"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="words.js"></script> </head> <body> <div class="main"> <div class="refresh" onclick=""> Refresh Every 5 Secs </div> <div class="generator" id="generator"> Generator "Select Subject" </div> <div class="subjects"> **<button class="adjectives" id="adjectives" onclick="newSubject(adjectives)">** Adjectives </button> <button class="food" id="food" onclick="newSubject(food)"> Food </button> <button class="nature" id="nature" onclick="newSubject(nature)"> Nature </button> <button class="space" id="space" onclick="newSubject(space)"> Space </button> <button class="tech" onclick="newSubject(tech)"> Tech </button> </div> </div> </body> </html>

I've also tried to put every variable in any scope combination possible but it stick to the same error everytime.我还尝试将每个变量放在任何可能的范围组合中,但每次都会出现相同的错误。

setInterval accept function as parameter. setInterval接受函数作为参数。 use

interval = setInterval(() => document.getElementById('generator').innerHTML = str[randomNum],1000);

and assuming you mean to make a new random every second, use并假设您的意思是每秒创建一个新的随机数,请使用

document.getElementById('generator').innerHTML = str[randomNum];
interval = setInterval(() => newSubject(str),1000);

snipped:剪断:

 var interval; var randomNum; function newSubject(str) { clearInterval(interval); randomNum = Math.floor(Math.random()*(str.length)); document.getElementById('generator').innerHTML = str[randomNum]; interval = setInterval(() => newSubject(str),1000); } var adjectives = [ 'מסוגל', 'מקסים', 'הרפתקני', 'חומצי', 'פעיל', 'מפחד', 'מזדקן', 'אגרסיבי', 'נעים', 'ערמומי', 'מדאיג', 'ערני', 'חי', 'מדהים', 'משועשע', 'עתיק', 'מתבייש', 'מושך', 'ממוצע', 'נורא', ]; var food = [ 'אוכל', 'קובנה', 'קוסקוס', 'המבורגר', 'לחם', 'גבינה', 'טבעוני', 'צמחוני', ]; var nature = [ 'עץ', 'שדה', 'דשא', 'רוח', 'אדמה', 'מים', 'אש', ]; var space = [ 'כדור הארץ', 'אטמוספרה', 'ירח', 'כוכבים', 'חללית', 'חלל חיצון', 'חייזר', 'ונוס', 'שמש', ]; var tech = [ 'מכונה', 'בינארי', 'אפס', 'אחד', 'מחשב', 'כוח עיבוד', ];
 <body> <div class="main"> <div class="refresh" onclick=""> Refresh Every 5 Secs </div> <div class="generator" id="generator"> Generator "Select Subject" </div> <div class="subjects"> **<button class="adjectives" id="adjectives" onclick="newSubject(adjectives)">** Adjectives </button> <button class="food" id="food" onclick="newSubject(food)"> Food </button> <button class="nature" id="nature" onclick="newSubject(nature)"> Nature </button> <button class="space" id="space" onclick="newSubject(space)"> Space </button> <button class="tech" onclick="newSubject(tech)"> Tech </button> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM