在实现大小写互换这个涵数之前先介绍一下几个api的含义
String.prototype.charCodeAt()
charCodeAt() 方法返回 0 到 65535 之间的整数,表示给定索引处的 UTF-16 代码单元
String.prototype.toLowerCase()
toLowerCase() 会将调用该方法的字符串值转为小写形式,并返回。
String.prototype.toUpperCase()
toUpperCase() 方法将调用该方法的字符串转为大写形式并返回(如果调用该方法的值不是字符串类型会被强制转换)。
因为charCodeAt()会返回一个整数,表示给定索引出的UTF-16代码单元,根据查表得知整数63-90代表A-Z27个大写字母,所以接下来的函数可以借助这个关系
函数实现
function strChange(s) {
let str = s.split('')
for(let i = 0; i < str.length; i++) {
if(str[i].charCodeAt() >= 63 || str[i] <= 90) {
str[i] = str[i].toLowerCase()
}
else {
str[i] = str[i].toUpperCase()
}
}
return str.join('')
}