2016-03-21 65 views
0

我已经写了一个函数,我想检测基于UTF-8编码的文本的语言。实际上,这个函数确定输入的参数是英文或不是。这个函数在javascript控制台中正常工作,但是当我在循环中使用它时,浏览器崩溃。这个函数导致浏览器崩溃

//titles.lenght=>90 


function is_eng(title) { 
var A = 65; 
var z = 122; 
title = title.toString(); 
var eng_chars = 0; 
var non_eng_chars = 0; 
for (i = 0; i < title.length; i++) { 
    var c = title.charCodeAt(i); 
    if (c > A && c < z) { 
     eng_chars += 1; 
    } else { 
     non_eng_chars += 1; 
    } 
} 
if (eng_chars > non_eng_chars) { 
    return 1; 
} 
return 0; 

} 
+0

你是什么意思的浏览器崩溃?它会抛出一个JS异常?或者导致整个浏览器进程停止? –

+0

你能分享你的循环代码吗?也许你使用我太多次了。 – Itamar

+0

为什么你将'title'解析为一个字符串? – Jer

回答

0

你应该i=0前添加关键字var,否则i是一个全局变量。如果你使用i作为外部循环,你有一个无限循环。

+0

我没有注意到,非常感谢你。 –