题给错了,(‘abCd’, ‘even’)应该返回 return aBCD。
function changeStringCase(source, position) {//由于字符串一经声明并赋值是不会变更的,因此将结果先保存入字符数组再在返回时转换为字符串
var charArray = []
for (var i = 0 i < source.length i++) {
if ((position == "odd" && (i % 2 == 0)) || (position == "even" && (i % 2 == 1))) {
charArray.push(changeCharCase(source[i]))
} else {
charArray.push(source[i])
}
}
return charArray.join("")
}
function changeCharCase(sourceChar) {
//取得char的ASCII码值
var charCode = sourceChar.charCodeAt()
if (65 <= charCode && charCode <= 90) {
//如果是大写字符
charCode += 32
} else if (97 <= charCode && charCode <= 122) {
//如果是小写字符
charCode -= 32
}
return String.fromCharCode(charCode)
}
document.write(changeStringCase("abCd", "odd"))
toUpperCase 方法返回一个字符串,该字符串中的所有字母都被转化为大写字母
toLowerCase 方法
返回一个字符串,该字符串中的字母被转换为小写字母