今天收到了一个bug,大致内容如下:
“
ダウンロード期限、回収期限を2日後の9時に設定すると
翌日の24時に変わってしまう。
・一覧表示は設定した値のまま
・詳細表示が変わってしまう
・[color=red]8時と9時を指定したときだけ発生する[/color]
”
打开页面,搜了一下代码,感觉很是奇怪。真的只有8和9出现这种问题。
google了一下,问题出在 parseInt 方法
[color=blue][b]parseInt 方法[/b]
返回由字符串转换得到的整数。[/color]
[color=blue]parseInt(numString, [radix])
[b]参数[/b]
numString
必选项。要转换为数字的字符串。
[b]radix[/b]
可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
[b]说明[/b]
parseInt 方法返回与保存在 numString 中的数字值相等的整数。如果 numString 的前缀不能解释为整数,则返回 NaN(而不是数字)。
parseInt("abc") // 返回 NaN。
parseInt("12abc") // 返回 12。
可以用 isNaN 方法检测 NaN。[/color]
所以,当没有设置第二个参数的时候,就会出现错误。
这时,午夜场告诉我之前客户提了一个「コード検証」報告書(JavaScript)20091105版,其中就有提到关于“[color=blue]parseInt_miss_radix[/color]”一项。今天才知道是怎么回事。
有时间一定要把报告中的每一项都细细学习一下。
“
ダウンロード期限、回収期限を2日後の9時に設定すると
翌日の24時に変わってしまう。
・一覧表示は設定した値のまま
・詳細表示が変わってしまう
・[color=red]8時と9時を指定したときだけ発生する[/color]
”
打开页面,搜了一下代码,感觉很是奇怪。真的只有8和9出现这种问题。
google了一下,问题出在 parseInt 方法
[color=blue][b]parseInt 方法[/b]
返回由字符串转换得到的整数。[/color]
[color=blue]parseInt(numString, [radix])
[b]参数[/b]
numString
必选项。要转换为数字的字符串。
[b]radix[/b]
可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
[b]说明[/b]
parseInt 方法返回与保存在 numString 中的数字值相等的整数。如果 numString 的前缀不能解释为整数,则返回 NaN(而不是数字)。
parseInt("abc") // 返回 NaN。
parseInt("12abc") // 返回 12。
可以用 isNaN 方法检测 NaN。[/color]
所以,当没有设置第二个参数的时候,就会出现错误。
这时,午夜场告诉我之前客户提了一个「コード検証」報告書(JavaScript)20091105版,其中就有提到关于“[color=blue]parseInt_miss_radix[/color]”一项。今天才知道是怎么回事。
有时间一定要把报告中的每一项都细细学习一下。