javascript - string 与 String

来源:互联网 发布:java中io和nio区别 编辑:程序博客网 时间:2024/04/29 21:05

var s="hello world";

 

var S=new String("hello world");

 

由于substring是String对象的方法,所以在使用s.substring()的时候系统会先把s包装为一个瞬间的String对象,按照这个理解在对字符串进行频繁的调用方法或属性的操作的时候,用new String的方式定义字符串效率会高些,但是在测试的时候发现无论在ie,WebKit, firefox都是恰恰相反,特别在firefox错了近三倍左右。测试代码如下:

 

 

var str=new String("hello world");

var now1=new Date().getTime();

for(var i=0;i<10000000;i++){

var k=str.length;

}

var now2=new Date().getTime();

alert(now2-now1)

 

 

var str1="hello world";

var now3=new Date().getTime();

for(var i=0;i<10000000;i++){

var j=str1.length;

}

var now4=new Date().getTime();

alert(now4-now3)

 

 

另外,字符串的加法操作是直接量之间的操作,所以如果对String对象进行加法操作会有一个瞬时的基本字符串被创建,这样理论上直接量的加法效率高于String对象,但测试结果显示String对象的加法效率要好于string直接量相加。

 

不晓得是我本人理解有问题,还是什么其他原因导致了这个结果!

原创粉丝点击