String.length 是 String 对象中表示字符串长度的一个属性,遗憾的是该属性对全角和半角字符都视作一个字符,因此在处理一些中英混合的文本时不太方便。现在我们利用 prototype 属性,新增加一个 cnLength 方法来弥补 String.length 的不足:
<script language="JavaScript"> String.prototype.cnLength = function(){ var cn_str = this.match( //ig ); return this.length + (arr==null?0:arr.length); } var str = "520mg我爱开发网"; document.write( str.length + "<br />" ); document.write( str.cnLength() ); </script>
运行该例子,输出:
10 15
同样在自定义的对象中也可以动态的增加方法或者重新定义已有的方法。上面例子中涉及到的正则表达式,请参阅《JavaScript 正则表达式》一节。