javascript - 较短的字符串会导致网页卡住

标签 javascript methods html

当按下 HTML 图表按钮时,它会激活 createChart() 方法。但是,如果文本区域中的值等于或小于 25 个字符,则网页会卡住。此外,该方法仅引用字母“a”。

<script type = "text/javascript">
orangeBar = "./orange.gif";

function createChart()
    {

    alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
    textValue = document.getElementById("text").value;
    max = 0;

    for (i=0;i<alphabet.length;i++) 
    {
        value = numberOf(alphabet[i], textValue);
        if (value > max)
        {
            max = value;
        }
    }

    document.write(max);

}  

function numberOf(letter, string)
{
    count = 0;
    for (i=0; i<string.length; i++)
    {
        if (string[i].toLowerCase() == letter)
        {
            count++;
        }
    }
    return count;
}
</script>

谢谢。我是编码新手。我可以回答任何问题。

最佳答案

当您使用for (i=0;i<alphabet.length;i++)时, i成为全局变量。然后你使用相同的 ifor (i=0; i<string.length; i++)它改变了你i createChart()的功能。放var之前i使其本地化。

for (var i=0;i<alphabet.length;i++)

for (var i=0; i<string.length; i++)

关于javascript - 较短的字符串会导致网页卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26970369/

相关文章:

java - 您是否为私有(private)方法提供 DEBUG 日志记录级别?

html - 一种在保持纵横比的同时调整子图像大小的更好方法

javascript - 通过 URL 主题标签更新选择菜单

html - 根据 TD 或多或少的值在表的 td 上添加一个 css 类

javascript - 表内按钮的 ZeroClipboard/ng-clip 悬停状态问题

javascript - 维护 google chrome 扩展程序中的数据

methods - 如何使用标准函数调用方法对象

java - 在每个方法之前调用方法

javascript - 无法从指令中选择 ngClass 元素

javascript - 重新排列不起作用