js求字符串字节长度方法封装

字符串字节长度

一、求字符串字节

var str = 'jg78*笑笑';//只有中文的Unicode编码大于255
function getByteLength(str){
	var count = 0;
	for(var i = 0;i < str.length;i ++){
		if(str.charCodeAt(i) > 255){//charCodeAt返回参数Unicode编码
			count +=2;//中文为2Byte
		}else{
			count ++;//其他为1Byte
		}
	}
	return count;//返回参数字节长度值,也可以直接console输出
}
var res = getByteLength(str);

大家会发现这里代码效率是比较低的,因为我们对中文和非中文进行判断时有两个判断,那么可不可以只用一个判断呢?

function getByteLength(str){
	var count = str.length;//首先count等于字符串的长度
	for(var i = 0;i < str.length;i ++){
		if(str.charCodeAt(i) > 255){//如果Unicode编码大于255为中文
			count ++;//在原来基础上没多一个中文就+1
		}
	}
	return count;//返回参数字节长度值,也可以直接console输出
}

这样的话能够提高代码效率,使函数更加容易理解,还能锻炼思维。

博主开始运营自己的公众号啦,感兴趣的可以关注“飞羽逐星”微信公众号哦,拿起手机就能阅读感兴趣的博客啦!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞羽逐星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值