Поскольку вы выполняете целочисленное деление.
Как говорит @Noldorin, если оба оператора являются целыми числами, то используется целочисленное деление.
Результат 0.33333333 не может быть представлен как целое число, поэтому к результату присваивается только целочисленная часть (0).
Если любой из операторов является double
/ float
, тогда будет выполнена арифметика с плавающей запятой. Но у вас будет такая же проблема, если вы это сделаете:
int n = 1.0 / 3.0;
Да, это правильный путь.
См. Ссылку здесь:
http://www.javascriptkit.com/javatutors/error2.shtml
И объяснение того, как увидеть более подробную информацию об ошибке здесь:
http: // www .javascriptkit.com / javatutors / error3.shtml
Их пример:
window.onerror = function(msg, url, linenumber) {
alert('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber);
return true;
}
Если вы хотите отобразить СПИСОК ошибок в одном всплывающем окне, это сложнее.
Поскольку ошибки возникают 1 на 1, вам необходимо сделать следующее:
window.onerror
обработчик сохранить сведения об ошибках в некотором массиве Периодически проверять этот массив - либо с помощью таймера , либо при каждом N-м вызове обработчика window.onerror
, либо при обоих.
Когда происходит проверка, обработать весь массив, отобразить содержимое по желанию и очистить массив
Взгляните на событие onerror объекта окна , в частности Получение дополнительных сведений об ошибке
Проверить это: http://www.javascriptkit.com/javatutors/error3.shtml . Похоже, подпись - это функция (сообщение, URL, номер)
.