ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

带有前导零的数字在JavaScript中会发生变化

2019-09-27 22:28:07  阅读:848  来源: 互联网

标签:javascript php html5


我使用print语句从php调用javascript函数打印出html代码,我传入一个整数.但是,在php中传递的值与javascript函数接收的数字不匹配,我不知道为什么.

这是调用javascript函数的php:

$upc = $items[$i]->GetUPC();
print "upc: " . $upc . "<br/>";

$delete = "<a href='#' onclick='removeFromCart(". $upc .")' ><img src='".$redx."' height='17' width='17' /></a>";

print语句打印出值: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")

标签:javascript,php,html5
来源: https://codeday.me/bug/20190927/1824918.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有