使此函数对null /空字符串等进行防御

时间:2009-02-21 18:56:38

标签: javascript

如何使这个函数对空/空字符串更加“可防御”?

function getSecondPart(str) {
    return str.split('-')[1];
}

2 个答案:

答案 0 :(得分:7)

function getSecondPart(str) {
    if(str === undefined ||
       typeof str != 'string' ||
       str.indexOf('-') == -1) return false;
    return str.split('-')[1];
}
console.log(getSecondPart({}); // false
console.log(getSecondPart([]); // false
console.log(getSecondPart()); // false
console.log(getSecondPart('')); // false
console.log(getSecondPart('test')); // false
console.log(getSecondPart('asdf-test')); // test

答案 1 :(得分:1)

我会说:

function getSecondPart(str) {
    if (typeof str !== "string" || str.indexOf("-") === -1) return false;
    return str.split("-")[1];
}