我有一个简单的功能,可以在数字之前添加零:
function validateString(length, str){
var newStr = '' + str;
for (var i = str.length; i < length; i++)
newStr = '0' + newStr;
return newStr;
}
我需要更改(变量类型?)以使其适用于数字?
validateString(12,2);
"2" // Unexpected rezult
validateString(12,'2');
"000000000002"
答案 0 :(得分:7)
这种情况正在发生,因为您正在呼叫str.length
而不是newStr.length
。数值具有未定义长度。
变化:
for (var i = str.length; i < length; i++)
要:
for (var i = newStr.length; i < length; i++)
function validateString(length, str){
var newStr = '' + str;
for (var i = newStr.length; i < length; i++)
newStr = '0' + newStr;
return newStr;
}
console.log(validateString(12,2));
console.log(validateString(12,'2'));
&#13;