0

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

这是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);

    });
});
4

2 回答 2

2
for (var i=0; i>=((dna.length) / 3); i++) {

您可能希望循环条件 i 小于 dna.length

for (var i = 0; i < (dna.length/3); i++) {
于 2013-08-12T00:35:22.227 回答
0

(在 for 循环中有一个未闭合的

for (var i=0; i>=(dna.length) / 3); i++) { // extra ( in i>=((dna.length) / 3)
于 2013-08-12T00:33:44.597 回答