我已定义了一个javascript变量,但它返回undefined。
variable = "";
if(somecondition){
variable=myString.length;
}
alert(variable);
此处变量返回undefined。如果我将警报保持在if条件内,我可以获得该值但是如果我将警报保持在if条件之外则不起作用。
答案 0 :(得分:1)
您的myString
没有名为length
的属性,因此您获得undefined
。
通常,String
,array
具有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)
答案 5 :(得分:-1)
如果变量在函数中未定义,那么因为它仍然等于初始值,"" (空字符串)。
我打赌发生了什么,myString实际上是一个数字,而不是一个字符串。尝试以下操作,看看是否还有问题:
variable = "";
if(somecondition){
variable=myString.toString().length;
}
alert(variable);