Javascript ';对于循环';以及可能的语法错误

Javascript ';对于循环';以及可能的语法错误,javascript,jquery,syntax,syntax-error,Javascript,Jquery,Syntax,Syntax Error,这是我当前的javascript。在我添加“for循环”之前,我知道它是有效的。for循环的要点是切换字母。目前,它正在检查3组是否等于一个字母。稍后我会解决这个问题,但我知道一定有语法错误,因为当鼠标移到按钮上时,按钮不会褪色。我知道这是一个愚蠢的问题,当我看到错误的时候,我会踢自己,但我现在很累,一辈子都找不到它。此外,这是否是一种有效的循环方式来更改字母?这是将数组值设置为新字母的正确方法吗 下面是script.js: $(document).ready(function() {

这是我当前的javascript。在我添加“for循环”之前,我知道它是有效的。for循环的要点是切换字母。目前,它正在检查3组是否等于一个字母。稍后我会解决这个问题,但我知道一定有语法错误,因为当鼠标移到按钮上时,按钮不会褪色。我知道这是一个愚蠢的问题,当我看到错误的时候,我会踢自己,但我现在很累,一辈子都找不到它。此外,这是否是一种有效的循环方式来更改字母?这是将数组值设置为新字母的正确方法吗

下面是script.js:

    $(document).ready(function() {
    $('#button_translate').mouseenter(function() {
        $('#button_translate').fadeTo('fast', 1);
    });
    $('#button_translate').mouseleave(function() {
        $('#button_translate').fadeTo('fast', 0.7);
    });
    $('#button_clear').mouseenter(function() {
        $('#button_clear').fadeTo('fast', 1);
    });
    $('#button_clear').mouseleave(function() {
        $('#button_clear').fadeTo('fast', 0.7);
    });
    $('#button_translate').click(function() {
        var dna = $('input[name=dna]').val();
        var dna = dna.toUpperCase();
        function allBases(text) {  
            var bases = /^[ACGT]+$/;  
            if(text.match(bases)) {  
                var arr = text.match(/.{1,1}/g);
                /*document.write(arr + " is a DNA sequence.");*/
                for (var i = 0; i < (dna.length); i++) {
                    if (arr[i]==='A') {
                        arr[i]='U'
                    }else if (arr[i]==='C') {
                        arr[i]='G'
                    }else if (arr[i]==='G') {
                        arr[i]='C'
                    }else if (arr[i]==='T') {
                        arr[i]='U'
                    }else{
                        document.write(dna + " is not a real DNA sequence. Error Code 2");
                    }
                }
                document.write(dna + " is the translated mRNA strand!");
            }else{
                document.write(dna + " is not a real DNA sequence.");
            }  
        }

        allBases(dna);

    });
});
$(文档).ready(函数(){
$(“#按钮_translate”).mouseenter(函数(){
$('按钮翻译').fadeTo('快速',1);
});
$('#按钮_translate').mouseleave(函数(){
$('按钮翻译').fadeTo('快速',0.7);
});
$(“#按钮_清除”).mouseenter(函数(){
$('按钮清除').fadeTo('快速',1);
});
$('#按钮_清除')。鼠标移动(函数(){
$('按钮清除').fadeTo('快速',0.7);
});
$('#按钮_translate')。单击(函数(){
var-dna=$('input[name=dna]').val();
var-dna=dna.toUpperCase();
函数allbase(text){
变量基数=/^[ACGT]+$/;
if(text.match(base)){
var arr=text.match(/.{1,1}/g);
/*写(arr+“是一个DNA序列”)*/
对于(变量i=0;i<(dna.length);i++){
如果(arr[i]=='A'){
arr[i]=“U”
}else if(arr[i]='C'){
arr[i]=“G”
}否则如果(arr[i]='G'){
arr[i]=“C”
}否则如果(arr[i]='T'){
arr[i]=“U”
}否则{
写入(dna+“不是真实的dna序列。错误代码2”);
}
}
写(dna+“是翻译的mRNA链!”);
}否则{
写(dna+“不是真正的dna序列”);
}  
}
所有碱基(dna);
});
});

for循环中有一个未关闭的

for (var i=0; i>=(dna.length) / 3); i++) { // extra ( in i>=((dna.length) / 3)
你可能希望循环条件是小于dna的长度

for (var i = 0; i < (dna.length/3); i++) {
for(变量i=0;i<(dna.length/3);i++){

但我想用它的长度除以3,是否不需要额外的一对括号?它会混淆程序吗?@rilelloyd额外的
是不需要的,因为表达式将根据
运算符的优先级高于
=
运算符的位置进行处理。是否应重新声明数组元素。
var arr[i]='U'
变为
arr[i]='U'
?更新了代码。仍然不起作用。它起什么作用?我注意到您已将除法删除了3。这是故意的吗?我故意删除除法,我正在使用“dna”字符串与数组相对,即使我在文本框中只输入一个字母,它仍然不起作用。是的,您将无法使用arr[index]访问字符串的部分内容。这是数组访问语法,对于字符串,您必须使用字符串替换
for (var i = 0; i < (dna.length/3); i++) {