Javascript 函数返回未定义

Javascript 函数返回未定义,javascript,Javascript,我试图找出为什么我的函数中出现了一个未定义的错误 我要做的是使用拆分和数组逐个显示从input1到input2的每个单词 当按下按钮时,它将工作,文本从input1到input2循环良好 但是,如果文本被删除或添加到input1中,则返回undefined var tagChanger=null, tagLength=0, tagMaxLength=0; 函数变换器(){ 清除间隔(标记变换器); if(标记转换器!==null){ 标记转换器=空; }否则{ 标记转换器=设置间隔(函数(){

我试图找出为什么我的函数中出现了一个未定义的错误

我要做的是使用拆分和数组逐个显示从
input1
input2
的每个单词

当按下按钮时,它将工作,文本从
input1
input2
循环良好

但是,如果文本被删除或添加到
input1
中,则返回undefined

var tagChanger=null,
tagLength=0,
tagMaxLength=0;
函数变换器(){
清除间隔(标记变换器);
if(标记转换器!==null){
标记转换器=空;
}否则{
标记转换器=设置间隔(函数(){
var tag=document.getElementById('input1')。值,
Name=tag.split(“”[tagLength];
document.getElementById('input2')。value=Name;
tagMaxLength=tag.split(“”).length-1;
如果(tagMaxLength==tagLength){
tagLength=0;
}否则{
tagLength++;
}
}, 500);
}
}
var button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”,更改器)
输入1:


投入2:


按钮
如果
标记
变量有值,则添加了
名称
变量而不签入。这就是你的问题所在

var tagChanger=null,
tagLength=0,
tagMaxLength=0;
函数变换器(){
清除间隔(标记变换器);
if(标记转换器!==null){
控制台日志(“hi”)
标记转换器=空;
}否则{
标记转换器=设置间隔(函数(){
var tag=document.getElementById('input1')。值
如果(标记!=''){
var Name=tag.split(“”[tagLength];
document.getElementById('input2')。value=Name;
tagMaxLength=tag.split(“”).length-1;
如果(tagMaxLength==tagLength){
tagLength=0;
}否则{
tagLength++;
}
}否则{
tagLength=0;
document.getElementById('input2')。value=“”
}
}, 500);
}
}
var button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”,更改器)
输入1:


投入2:


按钮
如果
标记
变量有值,则添加了
名称
变量而不签入。这就是你的问题所在

var tagChanger=null,
tagLength=0,
tagMaxLength=0;
函数变换器(){
清除间隔(标记变换器);
if(标记转换器!==null){
控制台日志(“hi”)
标记转换器=空;
}否则{
标记转换器=设置间隔(函数(){
var tag=document.getElementById('input1')。值
如果(标记!=''){
var Name=tag.split(“”[tagLength];
document.getElementById('input2')。value=Name;
tagMaxLength=tag.split(“”).length-1;
如果(tagMaxLength==tagLength){
tagLength=0;
}否则{
tagLength++;
}
}否则{
tagLength=0;
document.getElementById('input2')。value=“”
}
}, 500);
}
}
var button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”,更改器)
输入1:


投入2:


按钮
只需添加一个foreach循环,并通过以下函数延迟它

功能转换器(){
var tag=document.getElementById('input1')。值
var Name=tag.split(“”);
Name.forEach((sr,索引)=>{
setTimeout(()=>document.getElementById(“input2”).value=sr,500*索引);
});
}
var button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”,更改器)
输入1:


投入2:


按钮
只需添加一个foreach循环,并通过以下函数延迟它

功能转换器(){
var tag=document.getElementById('input1')。值
var Name=tag.split(“”);
Name.forEach((sr,索引)=>{
setTimeout(()=>document.getElementById(“input2”).value=sr,500*索引);
});
}
var button=document.getElementById(“按钮”);
按钮。addEventListener(“单击”,更改器)
输入1:


投入2:


按钮
有时?您有重现问题的步骤吗?
var tag=document.getElementById('input1')。value
-这一行是正确的。当您清除输入时,
标记
的值变为未定义?您有重现问题的步骤吗?
var tag=document.getElementById('input1')。value
-这一行是正确的。当您清除输入时,
标记
的值变为未定义。我感谢您的帮助。但当从输入中删除文本/单词时,这将返回undefined 1请运行我的代码段并查看。当您从“代码>输入输入1/代码> @ SyedMohamedAladeen删除值时,它不会显示<代码>未定义< /代码>。process@wissensz,@window.document。我没有重置
tagLength
值。因此,它返回undefined。我更新了我的答案。现在检查一下,谢谢你的帮助。但当从输入中删除文本/单词时,这将返回undefined 1请运行我的代码段并查看。当您从“代码>输入输入1/代码> @ SyedMohamedAladeen删除值时,它不会显示<代码>未定义< /代码>。process@wissensz,@window.document。我没有重置
tagLength
值。因此,它返回undefined。我更新了我的答案。现在检查一下。