javascript - 我的函数中有一些未定义的东西

标签 javascript

我无法发现它!上面的代码在控制台中返回“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/

相关文章:

javascript - 遍历 DIV 数组和淡入/淡出

javascript - 我如何在div下方插入html

javascript - jQuery Mobile 获取当前页面

javascript - 无法将 Stripe 与 nuxt 和 typescript 一起使用

javascript - 在 RMarkdown 演示文稿中滚动幻灯片(revealjs)

javascript:将参数传递给对象构造函数

javascript - Meteor react 收集数据

javascript - 获取GDrive中文件和文件夹之间的联系

javascript - 将源代码文件(.java、.css、.js)转换为 pdf 时保留语法高亮

javascript - 事件中的 someFunction() 和 someFunction 有什么区别?