Номер с ведущими нулями изменяется в JavaScript

Я вызываю функцию javascript из php, используя инструкцию print, чтобы распечатать html-код, и я передаю целое число. Однако значение, когда оно передается в php, не соответствует числу, которое получает функция javascript, и я не знаю, почему.

Вот PHP, который вызывает функцию javascript:

$upc = $items[$i]->GetUPC(); print "upc: " . $upc . "<br/>"; $delete = "<a href='#' onclick='removeFromCart(". $upc .")' ><img src='".$redx."' height='17' width='17' /></a>"; 

Оператор печати печатает значение: 0011110416605

И на странице, используя источник просмотра, вот тег для этого:

 <a href='#' onclick='removeFromCart(0011110416605)' > 

Здесь вызывается функция javascript:

 function removeFromCart(itemID){ var option = document.getElementById("select_cart"); var selected = option.options[option.selectedIndex].value; alert(itemID); loadCart(itemID,selected,"","remove"); } 

В поле предупреждения выводится номер: 1226972549

Я мог понять, удалил ли он 0, но этот номер совершенно другой. Кто-нибудь знает, почему это может быть?

JavaScript считает, что это восьмеричное значение (из-за начального нуля и отсутствия цифр больше 7 ). Десятичное значение восьмеричного 0011110416605 составляет 1226972549 . Пример:

 > var value = 010; //10 in octal > console.log(value); > 8 //is 8 in decimal 

Вместо этого используйте строку:

 removeFromCart("0011110416605")