如果条件,Javascript变量在外部是未定义的

时间:2016-10-14 17:53:38

标签: javascript

我已定义了一个javascript变量,但它返回undefined。

variable = "";

if(somecondition){
      variable=myString.length;
}
alert(variable);

此处变量返回undefined。如果我将警报保持在if条件内,我可以获得该值但是如果我将警报保持在if条件之外则不起作用。

6 个答案:

答案 0 :(得分:1)

您的myString没有名为length的属性,因此您获得undefined。 通常,Stringarray具有length属性,而对象则没有。

您要么调用错误的属性,要么在错误的数据类型上调用它,或者您必须自己定义一个:P

答案 1 :(得分:0)

使用var将会这样做:

var variable;

答案 2 :(得分:0)

您需要声明并定义您的变量。

var variable = "";

if(somecondition) {
      variable = myString.length;
}

alert(variable);

答案 3 :(得分:0)

var variable = '';
if (true) {
     variable = 'Yes'
}
alert(variable);

这会将警告显示为是。

所以在你的情况下myString.length;可能是未定义的

答案 4 :(得分:0)

你是否错过了mystring的初始化?

请看以下

enter image description here

答案 5 :(得分:-1)

如果变量在函数中未定义,那么因为它仍然等于初始值,"" (空字符串)。

我打赌发生了什么,myString实际上是一个数字,而不是一个字符串。尝试以下操作,看看是否还有问题:

variable = "";

if(somecondition){
      variable=myString.toString().length;
}
alert(variable);