2012-01-31 2 views
0

Я проверил код ниже в google chrome, но предупреждение показывает почему? (Я взял его из http://msdn.microsoft.com/en-us/magazine/cc163419.aspx)Почему мое предупреждение о javascript не отображается

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>test</title> 
</head> 
<body> 
<script type="text/javascript"> 
function filter(pred, arr) { 
    var len = arr.length; 
    var filtered = []; // shorter version of new Array(); 
    // iterate through every element in the array... 
    for (var i = 0; i &lt; len; i++) { 
     var val = arr[i]; 
     // if the element satisfies the predicate let it through 
     if (pred(val)) { 
      filtered.push(val); 
     } 
    } 
    return filtered; 
} 

var someRandomNumbers = [12, 32, 1, 3, 2, 2, 234, 236, 632, 7, 8]; 
var numbersGreaterThan100 = filter(function (x) { 
    return (x > 100) ? true : false; 
}, someRandomNumbers); 

// displays 234, 236, 632 
alert(numbersGreaterThan100); 

</script> 
</body> 
</html> 
+0

Название и вопрос конфликта тела. Просьба уточнить. – Cameron

+0

Вероятно, ошибка в вашем скрипте где-то - проверьте консоль хром на ошибки –

+3

сделал попытку заменить «<» на «<», например: for (var i = 0; i Akhil

ответ

4

У вас ошибка здесь, где некоторые HTML не совсем прийти правильно. Это предотвращает достижение вашего alert.

for(var i = 0; i &lt; len; i++) { 

изменить его:

for(var i = 0; i < len; i++) { 
0

У вас есть "специальный символьный" HTML в ваш цикл.

Изменение:

for(var i = 0; i &lt; len; i++) { 

To:

for(var i = 0; i < len; i++) { 

Я сделал это, и он работал на меня.

3

Эта линия:

for(var i = 0; i &lt; len; i++) { 

У вас есть HTML-объект, а не менее чем знак. Исправьте это, и он сработает.

Побочное примечание:

function(x) { return (x > 100) ? true : false; } 

Это было написано отделом Департамента избыточностью. Вместо этого используйте return x>100;.

+0

Уважаемый Департамент отдела избыточности: ваш код короче, но его длинный путь делает его намного более читаемый мне. – DOK

+0

Действительно, @ DOK? Я считаю обратное, чтобы быть правдой. Каждому. –

0

Единственное, что я вижу это: for(var i = 0; i &lt; len; i++) {

Это должно быть: for(var i = 0; i < len; i++) {

Обратите внимание на «<» вместо &lt;

0

При копировании и вставке иногда вы получаете HTML специальные символы. В этом случае у вас есть & lt; вместо < в вашем цикле for. Измените его, и он работает.

правило: в JavaScript, когда линия не работает там ошибка синтаксиса 95% или время

Смежные вопросы