为什么javascript列表中的多个小数会抛出一个';元素列表后缺少“'”;错误?
我有两个按钮用于区分cvs中的某些修订: 按钮A:为什么javascript列表中的多个小数会抛出一个';元素列表后缺少“'”;错误?,javascript,javascript-events,Javascript,Javascript Events,我有两个按钮用于区分cvs中的某些修订: 按钮A: <input type="button" onclick="javascript:var from = get_diff_from(this.form,2); var to = get_diff_to(this.form,2); parent.show_file('196382', 'telecom.mod', 'teleTWTA.c', from, to, 'webtools/cvsweb/cvsweb.cgi', 'fsw', ge
<input type="button" onclick="javascript:var from = get_diff_from(this.form,2); var to = get_diff_to(this.form,2); parent.show_file('196382', 'telecom.mod', 'teleTWTA.c', from, to, 'webtools/cvsweb/cvsweb.cgi', 'fsw',
get_chg_array([1.2,1.3], [0,196382], from, to));" value="Diff teleTWTA.c">
按钮B:
<input type="button" onclick="javascript:var from = get_diff_from(this.form,3); var to = get_diff_to(this.form,3); parent.show_file('196383', 'telecom.mod/test/solaris.ut/telecom_twta.exe', 'ut_teleTWTA.c', from, to, 'webtools/cvsweb/cvsweb.cgi',
'fsw', get_chg_array([1.1.1.1,1.2], [0,196383], from, to));" value="Diff ut_teleTWTA.c">
按钮A工作正常,但按钮B在单击时会阻塞,并在元素列表后抛出“缺少”。我能想到的唯一解释是按钮B中较长的cvs修订号(1.1.1.1)。为什么JS会在这一点上中断,我如何修复它?值
1.1.1
应该用引号括起来,因为它是一个字符串,而不是一个有效的数字。否则,它将尝试作为具有名为1
的嵌套属性的对象进行计算
EDIT:实际上,由于
1
不是一个有效的javascript变量名,我不确定运行时将如何评估1.1.1
。无论如何,它肯定是无效的。值1.1.1.1
应该用引号括起来,因为它是字符串,不是有效数字。否则,它将尝试作为具有名为1
的嵌套属性的对象进行计算
EDIT:实际上,由于
1
不是一个有效的javascript变量名,我不确定运行时将如何评估1.1.1
。无论如何,它肯定是无效的。在“onfoo”属性值中的代码不需要“javascript:”前缀。在“onfoo”属性值中的代码不需要“javascript:”前缀。啊,我明白了!所以其他的都是浮点小数,但一旦超过1个小数,它就必须是字符串,否则JS会将其视为对象。它确实不是一个有效的数字,但根据规范,它不会进行属性查找,因为变量名不能是数字。@pimvdb-感谢您的澄清。在我发帖后,我做了一些研究,自己发现了这一点。编辑了我的帖子。啊,我明白了!所以其他的都是浮点小数,但一旦超过1个小数,它就必须是字符串,否则JS会将其视为对象。它确实不是一个有效的数字,但根据规范,它不会进行属性查找,因为变量名不能是数字。@pimvdb-感谢您的澄清。在我发帖后,我做了一些研究,自己发现了这一点。编辑我的帖子。