为什么Javascript从字符串中删除了前导零?

时间:2016-02-23 17:43:19

标签: javascript angularjs angular-ui-router

我正在使用ui-router使用$stateParam从url获取参数值。其中一个参数是可能会或可能不会以00开头的ID号。例如,0034323343。在整个应用程序中,前导零是完整的。但是,有一个实例,我正在向这样的对象添加状态:

SharedDataService.setBreadcrumb({
                state: 'notes({ claimID: ' + $stateParams.claimID + ', cardholderId: ' + $stateParams.cardholderId + ' })',
                name: 'Notes'
            });

由于某种原因,删除了前导零。该ID在URL中变为34323343。我查看了返回typeof($stateParams.cardholderId)的{​​{1}}。那么,为什么零失踪?

这是保存的对象。

string

当我设置此值时,我打印到控制台。了解状态如何Object {state: "notes({ claimID: 187337, cardholderId: 0034323343 })", name: "Notes"} 格式正确 - 带有前导零?现在,当我在div中显示它时,为什么会改变为int。 cardholderId in ...

1 个答案:

答案 0 :(得分:2)

您必须将变量括在"中,以将其保留为字符串化对象中的字符串。

'notes({ claimID: "' + $stateParams.claimID + '", cardholderId: "' + $stateParams.cardholderId + '" })'