1.题外话,有关概念理解:String.prototype 属性表示 String原型对象.所有 String 的实例都继承自 String.prototype. 任何String.prototype上的改变都会影响到所有的 String 实例. 2.上正文,js扩展String.prototype.format字符串拼接的功能,首先是基础功能的改造: String.prototype.format = function(){ if(arguments.length==0){ return th…
String.prototype.format = function(args) { if (arguments.length>0) { var result = this; if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { var reg=new RegExp ("({"+key+"})","g&qu…
<script src="Js/jquery-3.1.1.min.js"></script> <script type="text/javascript"> /* * 格式化金额 个位起每三位逗号分隔 10,000.00 * @param n 小数位 * @return */ String.prototype.toThousands = function (n) { var n = n > 0 && n &l…
一.String.Format1.简介      String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. 2.参数      format()方法有两种重载形式. format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串. format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串. 3…
目的 编写一个基于字符串拼接的js模板引擎雏形,这里并不会提供任何模板与数据的绑定. 基本原理 Javascript中创建函数的方式有多种,包括: 1. var func = function () {...} 2. function func () {...} 3. var func = new Function (...); 其中new Function的方法给到了我们很大的自由度,比如: var func = new Function('a', 'b', 'return a+b;'); f…
长久以来,我们被教导字符串的连接最好用StringBuffer.StringBuilder,但是我们却不知道这两者之间的区别.跟字符串相关的一些方法中总是有CharSequence.StringBuffer.StringBuilder.String,他们之间到底有什么联系呢? 1.从类的定义看CharSequence.StringBuffer.StringBuilder.String的关系 下面先贴上这四者的定义(来自JDK1.6) CharSequence是一个定义字符串操作的接口,Strin…
通过类对象的prototype设置扩展方法,下面为String对象增加quote(两边加字符)方法 <script type="text/javascript"> String.prototype.isEmail= function(){            return this.indexOf('@')!=-1?true:false;        }        alert('dxm@163.com'.isEmail());    </script>…
String.prototype.replaceCharAt = function(n,c){ return this.substr(0, n)+ c + this.substr(n+1,this.length-1-n); }…
String.prototype.replaceAll = function (targetStr, newStr) {  var sourceStr = this.valueOf();  while (sourceStr.indexOf(targetStr) !== -1) {    sourceStr = sourceStr.replace(targetStr, newStr);  }  return sourceStr;};…
遇到的问题 一上班收到个bug,写的表单联动插件在ie里面会出现js源码,当时有点意外,从没出现过这问题. 问题的原由 为什么会出现一个function呢?其它调用的插件的页面为什么没有这问题? 控制台输出了一下json的for in结果,发现莫名其妙的多了个indexOf的方法. 原来是页面里其它的js文件扩展了Array.prototype的属性. 解决方法1.遍历数组for var代替for in 原来就看过一篇文章说Array对象不要用for in来遍历,今天果然遇到这问题了. 解决方法…