我无法发现它!上面的代码在控制台中返回“undefinedipsum”
// At the end
// Call substring, passing "lorem ipsum dolor" to `input`, `6` to
// `start`, and `10` to `end`.
var substring = function(input, start, end){
var i;
var subset;
for(i=start; i<=end; i++){
subset += input[i]
}
return subset;
}
console.log(substring("lorem ipsum dolor",6,10))
最佳答案
执行第一次串联时,
subset
未定义(由于您将其与字符串连接,undefined
会转换为字符串)。使用空字符串初始化 subset
:
var substring = function(input, start, end){
var i;
var subset = "";
for(i=start; i<=end; i++){
subset += input[i];
}
return subset;
}
我认为真正的问题是,当有一个非常好的 String.prototype.substring
时,你为什么要自己写这个?方法已经存在了吗?
关于javascript - 我的函数中有一些未定义的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581781/