За последние 24 часа нас посетили 16890 программистов и 1703 робота. Сейчас ищет 971 программист ...

Что за warning в Phpstorm?

Тема в разделе "JavaScript и AJAX", создана пользователем xfreewindx, 21 сен 2012.

  1. xfreewindx

    xfreewindx Активный пользователь

    С нами с:
    22 фев 2012
    Сообщения:
    55
    Симпатии:
    0
    Здравствуйте!
    Подскажите почему Phpstorm выдает предупреждение в следующем коде:
    Код (Text):
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4.     <meta charset="UTF-8">
    5.     <title></title>
    6. </head>
    7. <body>
    8. <script>
    9.     function multiplyNumeric(obj) {
    10.         for (var key in obj) {
    11.             if (isNumeric(obj[key])) {
    12.                 obj[key] *= 2;
    13.             }
    14.         }
    15.         return obj;
    16.     }
    17.  
    18.     function isNumeric(n) {
    19.         return !isNaN(parseFloat(n)) && isFinite(n);
    20.     }
    21.  
    22.     var menu = {
    23.         width: 200,
    24.         height: 300,
    25.         title: 'My menu'
    26.     };
    27.  
    28.  
    29.     for (var key in multiplyNumeric(menu)) {
    30.         alert('Ключ: ' + key + ' Значение: ' + menu[key]);
    31.     }
    32. </script>
    33. </body>
    34. </html>
    Подсвечиваются key во всех obj[key].
    Warning
    Possible iteration over unexpected (custom/inherit) members
    Checks for using unfiltered for-in loops in Javascript, using this construction causes processing inherited or unexpecting properties, one needs to filter own properties with hasOwnProperty method.
    Скрипт корректно работает.
    Понял, что нужно использовать указанный метод для проверки.
    Почему и как именно не понял.