有一个变量var name = name();
运行一个函数:
function name(){
var random = WScript.CreateObject("System.Random");
var count_lit = random.Next_2(2, 10);
var name_i;
for (var i = 0; i < count_lit; i++){
name_i += name_builder(name_i);
}
return name_i;
}
其中重定向功能:
function name_builder(name){
var random = WScript.CreateObject("System.Random");
var number_or_litr = random.Next_2(1, 2);
// 1 - litr; 2 - number
if(number_or_litr == 1){
var abets = random.Next_2(1, 26);
var litera;
switch(abets){
case 1:
litera = "a";
...
case 26:
litera = "z";
};
var Big_or_mini = random.Next_2(1, 2);
// 1 - big; 2 - mini
if(Big_or_mini == 1){
name+= litera.toUpperCase();
}
else{
name+= litera;
}
}
else{
name+= random.Next_2(0, 9).toString();
}
return name;
}
脚本的任务是发出一个“随机”名称。运行脚本时,出现错误
“Line: 101”——这是我对变量var name = name()
“Character: 3”
的指示
“Error: Object is expected”
我扭来扭去,但我无法理解。谢谢!
当您尝试作为函数调用或访问未定义值 ( )上的属性时,会发生“预期对象”错误
undefined具体来说,在您的情况下,问题在于您将变量命名为与函数相同的名称。变量和函数在一个公共命名空间中。
因此,当你写的时候
name()- 这name不是一个函数,而是一个变量。您尚未设法初始化的那个,因此存在undefined。因此错误。以不同的方式命名变量,你会没事的。