JavaScript String.prototype 原型

  1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2 <html>
  3 <head>
  4     <title>String.prototype</title>
  5     <meta name="Generator" content="EditPlus">
  6     <meta name="Author" content="">
  7     <meta name="Keywords" content="">
  8     <meta name="Description" content="">
  9     <script language="JavaScript">
 10         function replace(obj)
 11         {
 12             alert(obj.value.Replace("a","d"));
 13         }
 14         window.onload=function(){
 15             alert("123456".movePoint(-2));
 16         }
 17         </script>
 18 </head>
 19 <body>
 20     <span>String.Replace </span><br />
 21     <input type="TEXT" value="replace" onclick="replace(this)">
 22 </body>
 23
 24 <script type=‘text/javascript‘>
 25         /**
 26          * 左补齐字符串
 27          *
 28          * @param nSize
 29          *            要补齐的长度
 30          * @param ch
 31          *            要补齐的字符
 32          * @return
 33          */
 34         String.prototype.padLeft = function(nSize, ch)
 35         {
 36             var len = 0;
 37             var s = this ? this : "";
 38             ch = ch ? ch : ‘0‘;<!--默认补0
 39
 40             len = s.length;
 41             while (len < nSize)
 42             {
 43                 s = ch + s;
 44                 len++;
 45             }
 46             return s;
 47         };
 48         /**
 49          * 右补齐字符串
 50          *
 51          * @param nSize
 52          *            要补齐的长度
 53          * @param ch
 54          *            要补齐的字符
 55          * @return
 56          */
 57         String.prototype.padRight = function(nSize, ch)
 58         {
 59             var len = 0;
 60             var s = this ? this : "";
 61             ch = ch ? ch : ‘0‘;<!--默认补0
 62
 63             len = s.length;
 64             while (len < nSize)
 65             {
 66                 s = s + ch;
 67                 len++;
 68             }
 69             return s;
 70         };
 71         /**
 72          * 左移小数点位置(用于数学计算,相当于除以Math.pow(10,scale))
 73          *
 74          * @param scale
 75          *            要移位的刻度
 76          * @return
 77          */
 78         String.prototype.movePointLeft = function(scale)
 79         {
 80             var s, s1, s2, ch, ps, sign;
 81             ch = ‘.‘;
 82             sign = ‘‘;
 83             s = this ? this : "";
 84
 85             if (scale <= 0) return s;
 86             ps = s.split(‘.‘);
 87             s1 = ps[0] ? ps[0] : "";
 88             s2 = ps[1] ? ps[1] : "";
 89             if (s1.slice(0, 1) == ‘-‘)
 90             {
 91                 s1 = s1.slice(1);
 92                 sign = ‘-‘;
 93             }
 94             if (s1.length <= scale)
 95             {
 96                 ch = "0.";
 97                 s1 = s1.padLeft(scale);
 98             }
 99             return sign + s1.slice(0, -scale) + ch + s1.slice(-scale) + s2;
100         };
101         /**
102          * 右移小数点位置(用于数学计算,相当于乘以Math.pow(10,scale))
103          *
104          * @param scale
105          *            要移位的刻度
106          * @return
107          */
108         String.prototype.movePointRight = function(scale)
109         {
110             var s, s1, s2, ch, ps;
111             ch = ‘.‘;
112             s = this ? this : "";
113
114             if (scale <= 0) return s;
115             ps = s.split(‘.‘);
116             s1 = ps[0] ? ps[0] : "";
117             s2 = ps[1] ? ps[1] : "";
118             if (s2.length <= scale)
119             {
120                 ch = ‘‘;
121                 s2 = s2.padRight(scale);
122             }
123             return s1 + s2.slice(0, scale) + ch + s2.slice(scale, s2.length);
124         };
125         /**
126          * 移动小数点位置(用于数学计算,相当于(乘以/除以)Math.pow(10,scale))
127          *
128          * @param scale
129          *            要移位的刻度(正数表示向右移;负数表示向左移动;0返回原值)
130          * @return
131          */
132         String.prototype.movePoint = function(scale)
133         {
134             if (scale >= 0)
135                 return this.movePointRight(scale);
136             else
137                 return this.movePointLeft(-scale);
138         };
139         <!--字符串替换-->
140         String.prototype.Replace = function(oldValue,newValue)
141         {
142             var reg = new RegExp(oldValue,"g");
143             return this.replace(reg, newValue);
144         }
145         <!--判断字符串是否以指定的字符串结束-->
146         String.prototype.EndsWith = function(str)
147         {
148             return this.substr(this.length - str.length) == str;
149         }
150         <!--去掉字符左端的的空白字符-->
151         String.prototype.LeftTrim = function()
152         {
153             return this.replace(/(^[//s]*)/g, "");
154         }
155         <!--去掉字符右端的空白字符-->
156         String.prototype.RightTrim = function()
157         {
158             return this.replace(/([//s]*$)/g, "");
159         }
160         <!--判断字符串是否以指定的字符串开始-->
161         String.prototype.StartsWith = function(str)
162         {
163             return this.substr(0, str.length) == str;
164         }
165
166 </script>
167 </html>

可以把<script type=‘text/javascript‘> </script>之间的内容直接放到JS文件中,就可以调用String的方法。对于var的变量可以先toString()在调用。

比如:

item23 = document.getElementById(documentArray[0]+"_23").value;

Number(item23.toString().movePoint(-2))

时间: 2024-12-11 23:47:17

JavaScript String.prototype 原型的相关文章

JavaScript 面向对象 (prototype 原型模式)

一. JavaScript 设计思想 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时.但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力.比如,如果网页上有一栏"用户名"要求填写,浏览器就无法判断访问者是否真的填写了,只有让服务器端判断.如果没有填写,服务器端就返回错误,要求用户重新填写,这太浪费时间和服务器资源了. 因此,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动.工程师_Brend

javascript构造函数.prototype原型理解 函数.call() 方法克隆的理解

直接创建object对象 var stu = new Object(); 或 var stu = {}; stu.name="zhangsan"; stu.age = "18"; stu.fun = function(){ alert("我叫张三"); } 你也可以用讲stu当作一个模块,模块里面有多个对象,如下实例为一个简单的购物车系统的模块!var shoppingCar = {} shoppingCar.carInfo = function

JavaScript的prototype(原型)

JavaScript的每一个对象都有prototype属性哦 对象方法.类方法.原型方法 1.对象方法:理解就很简单了,主要是如果类生成一个实例,那么该实例就能使用该方法2.类方法:不需要通过生成实例就可以使用的方法3.原型方法:主要是用来对JS已有的系统对象进行扩展而生的,例如Array数组没有什么方法,你可以为其增加原型方法,那么创建的数组就拥有了该方法. 各自优点 1.对象方法:包括构造函数中的方法以及构造函数原型上面的方法:2.类方法:其实这里的类就是一个函数,在js中由于函数也是一个对

Javascript讲解系列之一 Prototype原型链

以前没有写博客的习惯,许多的技术积累都是自己稍微总结一下,很少共享,并非自私,而是工作比较忙,前几天接到一个电话面试不理想,才发现公司所用的DOJO并不被外面广泛接受,故而决定把自己所学分享出来,为夯实基础,也为与外界交流思想,形成一种渠道,如需联系,请发送至邮箱:[email protected]. 今天写Javascript系列之第一篇:Prototype原型链.在软件园里随便拉一个码农估计都会写JS,大部分也知道JS是基于原型的语言,但是如果问及JS原生对象(Object,Function

javascript中的prototype(原型)认识

prototype实现了对象与对象的继承,在JS中变量,函数,几乎一切都是对象,而对象又有_ptoro_属性,这个属性就是通常说的原型,是用来指向这个对象的prototype对象,prototype对象又有_proto_属性,就是这样依次递归,直到追溯到object对象. 1 function Person(name){ 2 this.name=name; 3 }; 4 Person.prototype.printName=function(){//通过给Person对象下的prototype赋

原型模式 private static Map&lt;String,Prototype&gt; map = new HashMap&lt;String,Prototype&gt;();

public class PrototypeManager { /** * 用来记录原型的编号和原型实例的对应关系 */ private static Map<String,Prototype> map = new HashMap<String,Prototype>(); /** * 私有化构造方法,避免外部创建实例 */ private PrototypeManager(){} /** * 向原型管理器里面添加或是修改某个原型注册 * @param prototypeId 原型编

javascript学习:闭包和prototype原型使用基础

闭包 function Person(name) { this.Username = name; var Userage = 18; //通过这种方法可以模拟私有成员 //类似于private成员 this.setAge = function (age) { Userage = age; } //类似于public成员 this.getAge = function () { return Userage; } } var p1 = new Person("huahuah"); p1.s

【JavaScript 封装库】Prototype 原型版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 Prototype 版 6 迭代版本: 无 7 功能总数: 14 个 8 功能介绍: 9 1. 实现代码连缀 10 2. id /

javascript的oop——&gt;&gt;&gt; [__proto__ 与 prototype/原型链/原型属性与原型方法/for-in循环]

  前  言  OOP  javascript的oop中的__proto__  与  prototype/原型链/原型属性与原型方法/for-in循环 1  __proto__  与  prototype/原型链   1.prototype(函数的原型):函数才有prototype.prototype是一个对象,指向了当前构造函数的引用地址呢.                       2.__proto__(对象的原型对象):所有对象都要__proto__属性.当用构造函数实例化(new)一