修复将字符串xyz-009传递到javascript函数时的错误

修复将字符串xyz-009传递到javascript函数时的错误,javascript,syntax-error,ecma262,Javascript,Syntax Error,Ecma262,因此,我将一个字符串传递到javascript函数中。例如: function dothis(x,y,z){ something } dothis(year,month,contract); // contract = "A10-009_xyz" 我知道这与javascript处理08和09的方式有关,但我不确定在我的情况下最好的处理方式 我得到的错误是 09 is not a legal ECMA-262 octal constant dothis(2012, 01, A10-00

因此,我将一个字符串传递到javascript函数中。例如:

function dothis(x,y,z){
    something
}

dothis(year,month,contract); // contract = "A10-009_xyz"
我知道这与javascript处理08和09的方式有关,但我不确定在我的情况下最好的处理方式

我得到的错误是

09 is not a legal ECMA-262 octal constant
dothis(2012, 01, A10-009_xyz);
我看到一些人建议使用
number(string)
parceInt(“09”、“10”)
,但我不确定如何实现这一点,因为字符串将发生很大变化。我是否应该在放入函数之前检查字符串并查找08,09并替换为
parceInt()


感谢您提供的帮助、建议等。

嗯,当您呼叫该方法时,它会抱怨吗?这是没有道理的。是的,我可能会感到困惑,因为我以前从未遇到过这个问题。很抱歉造成混淆如果您引用的是字符串,那么在调用函数时它不会引起问题。问题一定是函数如何处理
z
,您需要显示它。您键入的内容和错误消息显示的内容似乎缺少引号。在Javascript中,如果数字以
0
开头,则将其视为八进制。但如果你引用它,它不应该被解释为一个数字。如果不是数字,就不应该调用
parseInt()