js代码哪里有错

如题所述

代码错误有三个地方:

1 var ch3 应改为 var ch3 = "",就是定义 ch3 时,定义为一个空字符串

2 if 条件语句最后 else 里边 ch2_1 += '00' 应改为 ch2_1 = ch2 + '00'

3 for 循环里边 ch3 = ... 应改为 ch3 += ... '...'表示的是后面那一串

修改后的代码是

var ch = ["千", "百", "拾", "亿", "千", "百", "拾", "万", "千", "百", "拾", "元", "角", "分"];
var ch1 = '零壹贰叁肆伍陆柒捌玖';
var ch2_1;
var ch3 = '';
var ch2 = document.getElementById("a").value;
var a = /(\.[0-9])$/;
var a1 = /(\.[0-9][0-9])$/;
if (a1.test(ch2)) {
    ch2_1 = ch2.replace(/\./, '');
} else if (a.test(ch2)) {
    ch2_1 = ch2.replace(/\./, '');
    ch2_1 += '0';
} else {
    ch2_1 = ch2 + '00';
}

var ch2_2 = ch2_1.length;
var ch_1 = ch.slice(-ch2_2);

for (var ad = 0; ad < ch2_1.length; ad++) {
    ch3 += ch1.charAt(parseInt(ch2_1.substr(ad, 1))) + ch_1[ad];
}
var ch4 = ch3.replace(/零(千|百|拾|角)/g, '零');
ch4 = ch3.replace(/零角零分/, '整');
alert('中文货币', '+ch4');

------------------------

代码命名可以规范一下,20几行代码,出现了10个变量,正则

var a = /(\.[0-9])$/; ---> var a = /\.\d$/;

var a1 = /(\.[0-9][0-9])$/; ----> var a1 = /\.\d{2}$/;

能简单就简单呗。

追问

谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-05
if 没钱 then
去抢银行
end if

if 山中无老虎 then
猴子称大王
end if

if not(手机) then
信鸽传书还会存在
end if

if 世界没有电脑 then
网吧,云计算,电子绘图,信息交流,...都不存在
end if本回答被网友采纳
第2个回答  2019-03-05
把js位置改变下,你的JS运行的时候你的页面还没有加载完成,js加载顺序处理下,把script放到body下面试一下。
第3个回答  2019-03-04
先看看a的值是多少,得到没有了?
第4个回答  2019-03-04
恭喜你找到问题你乐趣,让你给电脑问题玩面段时间
相似回答