많은 메소드가 있는데, 다음은 두 가지입니다.
첫 번째 메소드: (String 객체의 charCodeAt 메소드를 통해)
String.prototype.getBytesLength = function() {
var length = 0
for(i = 0;i < this.length; i ) {
iCode = this.charCodeAt(i)
if((iCode >= 0 && iCode <= 255) || (iCode >= 0xff61 && iCode <= 0xff9f)) {
길이 = 1;
} else {
길이 = 2;
}
}
반환 길이
}
초: escape( ) 메소드로 인코딩 후 판단)
String.prototype.getBytesLength = function() {
var str = escape(this)
for(var i = 0, length = 0;i < str.length; i , length ) {
if(str.charAt (i) == "%") {
if(str.charAt( i) == "u") {
i = 3;
}
i ;
}
}
반환 길이
}
세 번째 작성 방법: 완전히 말문이 막힙니다!
String.prototype.getBytesLength = function() {
return this.replace(/[^x00-xff]/gi, "--").length;
}
세 번째 코드가 마음에 듭니다. 위 코드는 모두 테스트 통과
코드가 간단하고 테스트 결과를 제공하지 않습니다
px