`
JavaSam
  • 浏览: 952063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js模拟stringbuilder 测试通过

 
阅读更多
/**  
 * 模拟StringBuilder  
*/  
 var  StringBuilder = function(){  
        this.vStrings = new Array();  
        this.flag = false;  
        if(!this.flag){  
            StringBuilder.prototype.append = function(str){  
                this.vStrings.push(str);  
            }  
            StringBuilder.prototype.toString = function(){  
                return this.vStrings.join("");  
            }  
            StringBuilder.prototype.charAt = function(index){  
                return this.toString().charAt(index);  
            }  
            StringBuilder.prototype.clear = function(){  
                this.vStrings.length = 0;  
            }  
            StringBuilder.prototype.Delete = function (start,end){  
                var tempString = this.toString();  
                var prevString = tempString.substring(0,start);  
                var nextString = end ?  tempString.substring(end) : tempString.substring(start+1);  
                this.clear();  
                this.append(prevString);  
                this.append(nextString);  
            }  
            StringBuilder.prototype.length = function(){  
                return this.toString().length;  
            }  
            StringBuilder.prototype.substring = function(start,end){  
                return this.toString().substring(start,end);  
            }  
            StringBuilder.prototype.replace = function(oldStr,newStr){  
                var newStr = newStr ? newStr : "";  
                var tempString =  this.toString().replace(new RegExp(oldStr,"g"),newStr);  
                this.clear();  
                this.append(tempString);  
            }  
            StringBuilder.prototype.indexOf = function (val){  
                return this.toString().indexOf(val);  
            }  
            StringBuilder.prototype.lastIndexOf = function(val){  
                return this.toString().lastIndexOf(val);  
            }  
            StringBuilder.prototype.insert = function (offset,str){  
                var prevString = this.substring(0,offset);  
                var middleString = str;  
                var nextString = this.substring(offset);  
                this.clear();  
                this.append(prevString);  
                this.append(middleString);  
                this.append(nextString);  
            }  
            this.flag = true;  
        }  
    }  

 

0
1
分享到:
评论

相关推荐

    模拟soapui调用webservice

    这篇博客文章“模拟soapui调用webservice”可能探讨了如何在不使用SOAPUI图形界面的情况下,通过编程方式模拟SOAP请求。 首先,我们需要理解SOAP消息的结构。一个SOAP消息通常包含三个主要部分:Envelope、Header和...

    模拟ie发送http消息

    这里我们关注的是模拟Internet Explorer(IE)浏览器发送HTTP消息,这通常是通过编程实现的,例如使用Python的requests库、JavaScript的fetch API或者Java的HttpURLConnection等。下面我们将深入探讨这一主题。 ...

    javascript中字符串拼接需注意的问题

    3. 可以通过模拟C#的StringBuilder,使用数组来存储待拼接的字符串片段,最后通过`join`方法合并。 4. 对于性能敏感的代码,应当进行性能测试,选择最适合的方法。 在实际开发中,优化字符串拼接不仅可以提升代码的...

    松迪培训入学测试题

    ### 松迪培训入学测试题知识点解析 #### 一、字符串数组连接 **知识点概述:** 此题考察的是Java中处理字符串数组的能力以及如何高效地将数组中的元素连接成一个完整的字符串。 **详细解析:** 1. **字符串拼接...

    string-concatenate-outofmemory.rar_crash

    2. 使用`StringBuilder`类(在Java中)或`StringBuffer`(在某些JavaScript库中提供,如lodash的`_.join()`),但在JavaScript原生环境中,需要自己模拟实现,例如通过数组来存储子字符串,最后再用`join()`生成最终...

    取指定重复次数的数字

    - 数据填充:在测试数据生成或模拟数据时,可能会用到重复数字字符串。 - 编码解码:在某些编码算法中,可能需要重复特定数字作为编码的一部分。 - 正则表达式:在正则表达式中,`{n}`表示匹配前面的子模式n次,这与...

    再论Javascript下字符串连接的性能

    为了解决这个问题,开发者经常利用数组来模拟其他语言中的StringBuilder或StringBuffer类。通过将每个部分的字符串添加到数组中,然后使用 `join()` 方法将它们合并成一个字符串。这种方式避免了频繁的字符串对象...

    JS字符串累加Array不一定比字符串累加快(根据电脑配置)

    在提供的代码中,定义了一个`StringBuffer`类,它模拟了Java中的StringBuilder功能,用于累积字符串。这个类使用数组来存储字符串片段,并提供了`append`方法用于添加新字符串。然后,通过`toString`方法将数组元素...

    JavaScript字符串String和Array操作的有趣方法

    在JavaScript中,虽然没有内置的`StringBuilder`类,但我们可以利用Array的动态增长特性来模拟这一功能。创建一个空数组,然后使用`push`方法添加元素,最后用`join('')`将数组元素拼接为字符串。这种方式在某些场景...

    javascript 字符串连接的性能问题(多浏览器)

    在给出的代码示例中,作者通过创建一个`StringBuffer`类来模拟Java中的StringBuilder功能,以优化字符串连接。`StringBuffer`类包含一个字符串数组,并提供了`append`方法用于添加字符串,以及`toString`方法用于将...

    java笔试题.docx

    但可以通过检查参数数量或类型来模拟重载。 9. JSON理解:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但支持更...

    通过WebBrowser网页截图C#源码(抓取完整页面及首屏).pdf

    它可以模拟IE浏览器的行为,加载HTML文档并执行JavaScript代码。 为了实现网页截图,我们主要利用Windows API函数,如`PrintWindow`,这是一个用户界面函数,可以将窗口的内容绘制到设备上下文(DC)中。以下是一些...

    tomcat优化

    3. **性能测试工具**:使用Apache JMeter、LoadRunner等工具模拟高并发访问,找出性能短板。 4. **剖析工具**:如VisualVM、JProfiler等,可以深入分析JVM内存、CPU使用情况,找到性能瓶颈。 通过上述各个层面的...

    阿里巴巴 面经

    - **面向对象**:与面向过程相反,面向对象是一种以对象为中心的编程思想,通过定义类和对象来模拟现实世界中的实体及其行为。 **2. Java的四大特性** - **抽象**:指提取出对象的共同属性和行为,忽略非必要的...

    java网页的源码-takeTheSourceCode:用程序去抓取网上网页的源码,java代码

    StringBuilder sourceCode = new StringBuilder(); while ((line = reader.readLine()) != null) { sourceCode.append(line); } reader.close(); ``` 上述代码首先创建了一个URL对象,然后打开到该URL的连接...

    java最经典面试题.doc

    Java支持单一继承,但可以通过实现多个接口来模拟多重继承。 #### 八、抽象类与接口之间的区别 - **抽象类**: - 可以包含构造器、抽象方法、具体方法、字段等。 - 不允许实例化,但可以声明指向抽象类类型的...

    Java学习笔记-个人整理的

    {3.7}StringBuilder与StringBuffer的缺点}{76}{section.3.7} {3.8}内部类}{77}{section.3.8} {4}Collection}{80}{chapter.4} {4.1}\ttfamily java.util.ArrayList}{80}{section.4.1} {4.2}\ttfamily java.util....

Global site tag (gtag.js) - Google Analytics