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。我更新了我的答案。现在检查一下。