Javascript 打印带有验证号的三角形
我有这样的代码,如果输入是字符串,我想要这样的输出“必须是数字”Javascript 打印带有验证号的三角形,javascript,Javascript,我有这样的代码,如果输入是字符串,我想要这样的输出“必须是数字” let a = "five"; for (let i = a; i >= 1; i--) { let output = ""; for (let j = i; j >= 1; j--) { output = j + output; } if (typeof a !== "number&qu
let a = "five";
for (let i = a; i >= 1; i--) {
let output = "";
for (let j = i; j >= 1; j--) {
output = j + output;
}
if (typeof a !== "number") {
console.log("must be numbers!");
} else {
console.log(output);
}
}
我的代码有问题吗?请帮忙。谢谢在进入循环之前,您需要检查a的
类型
let a = "five";
if (typeof a !== "number") {
console.log("must be a number")
} else {
for (...) {...}
}
在运行for循环之前,应该检查a是否不是数字 像这样:
let a = "five";
if (typeof a !== "number") {
console.log("must be numbers!");
}
else {
for (let i = a; i >= 1; i--) {
let output = "";
for (let j = i; j >= 1; j--) {
output = j + output;
}
console.log(output);
}
}
基本上,您已经有了一个for循环,其中包括
a
,即使它还没有检查是否有故障,您也将经历一次疯狂的过山车之旅。在运行流程之前,检查是否存在可以使流程脱轨的问题(在您的情况下,是数据类型问题),这一点始终很重要。下面的代码显示了如何实现我所说的内容
让a=“五”;
如果(a!=“数字的类型”){//!=而不是!==as!==严格不相等,而!=基本上不相等(大差异)
log(“必须是数字!”);
}
否则{
对于(设i=a;i>=1;i--){
让输出=”;
对于(设j=i;j>=1;j--){
输出=j+输出;
}
控制台日志(输出);
}
}
//我假设您对编码是新手,我会说另一种检查这种情况的方法是isNaN(varName)。如果返回true,则varName不是一个数字;如果返回false,则varName是一个数字
您的第一个for循环将不会执行,因为您已初始化i=a
,“five”>=1
为false。