Javascript 如何检查变量是否未定义

Javascript 如何检查变量是否未定义,javascript,Javascript,我试图找出一种方法来测试变量是否未声明。如果不是,我想给它下个定义。每当我试图研究它的时候,它对我来说太先进了,我无法理解,所以我不确定它是否是我所需要的答案,或者其他什么。我必须在函数内部执行此操作。我正在做一个数学游戏。我使用一个名为“number”的变量来表示问题编号。如果没有定义,我想将其定义为1。尽量简单,我并不擅长编码,因为我3年前开始编码,2年前放弃了我正在学习的语言,1年前开始使用JavaScript。我只有10岁,所以,请保持简单,以便我可以添加它。启用严格模式(“使用严格”)

我试图找出一种方法来测试变量是否未声明。如果不是,我想给它下个定义。每当我试图研究它的时候,它对我来说太先进了,我无法理解,所以我不确定它是否是我所需要的答案,或者其他什么。我必须在函数内部执行此操作。我正在做一个数学游戏。我使用一个名为“number”的变量来表示问题编号。如果没有定义,我想将其定义为1。尽量简单,我并不擅长编码,因为我3年前开始编码,2年前放弃了我正在学习的语言,1年前开始使用JavaScript。我只有10岁,所以,请保持简单,以便我可以添加它。

启用严格模式(“使用严格”),然后您可以尝试下面的代码来检查变量是否未声明,因为在严格模式下,当您尝试访问未声明的变量时,您将收到referenceerror

try{ val; }
catch(e) {
    if(e.name == "ReferenceError") {
        var val = "something";
    }
}

虽然可以动态检查变量当前是否在作用域中定义:

const getEvalStr=varName=>`try{${varName};true;}catch(e){false;}`;
(() => {
const someVariableName=true;
log(eval(getEvalStr('someVariableName'));
log(eval(getEvalStr('someVariableName2'));

})();
Try
if(typeof varName!=“undefined”)
@SajeebAhamed:无论
varName
undefined
还是未定义,它都返回相同的值。你说的未定义是什么意思?你是说没有声明吗?@SajeebAhamed这会导致控制台说“输出意外结束”,并导致我的函数工作不正确。@ZackerySpry否,
typeof
Checkin Sajeeb的commnet不会导致该错误。看见