控制台日志不能从函数中打印变量 [英] Console log not printing variable from function

查看:241
本文介绍了控制台日志不能从函数中打印变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试将变量'randomWord'打印到console.log,但chrome表示未定义。
它看起来像是我定义的。为什么不打印到console.log?

Trying to print the variable 'randomWord' to console.log, but chrome says it is not defined. It looks like it's defined to me. Why won't it print to the console.log?

function strt(){

//get random word from words[] array
var randomWord = words[Math.floor(Math.random()* words.length)];

var wordLength = randomWord.length;


//create a blank boxes or div elements for holding each letter of 
// selected random word
for(i = 0 ; i< wordLength; i++){

var divTag = document.createElement("div");
divTag.id = "div" + i;
divTag.className = 'wordy';
//divTag.innerHTML = randomWord[i];
hangManDiv.appendChild(divTag);

};// end for loop

//disable start button
document.getElementsByName("startB")[0].disabled = true;

return randomWord;

}//end strt()

console.log(randomWord);


推荐答案

变量 randomWord 超出了范围。您在函数内定义变量,然后将其命名为 outside

The variable randomWord is out of the scope. You define the variable inside a function, and then call it outside of it.

您应该从函数中定义变量或在函数内部调用它:

You should either define the variable out of the function or call it inside of it:

function strt(){
   var randomWord;
   ...
   console.log(randomWord);
   return randomWord;
}//end strt()

var randomWord;
function strt(){
   ...
   return randomWord;
}//end strt()
strt(); // Call the function
console.log(randomWord);

对于后者,请考虑 randomWord 赢了当JS执行控制台日志功能时,它已经改变了;因此,它将为空。换句话说,您必须在记录之前调用该函数。

For the latter, consider that randomWord won't have changed when JS executes the console log function; therefore, it will be null. In other words, you must call the function before you log it.

这篇关于控制台日志不能从函数中打印变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆