今天在一本書上面 看見一點內容 主要講的 是
var x="test1";
x+="test2";
這樣的語句 的執行過程是:
1.建立儲存的「test1」的字串
2.建立儲存的「test2」的字串
3.建立儲存鏈結結果的字串
4.把x的當前內容複製到結果中
5.把「world」複製到結果中。
6.更新str,使她指向結果。
每次完成鏈結都要做很多操作 浪費效能。 所有這本書上講 可以使用 乙個陣列來記錄 然後使用join方法 效率會提高很多。
然後 我就實際了一下。。**
var d1=new date();
var str='';
for(var i=0;i<1000000;i++)
var d2=new date();
document.write(d2.gettime()-d1.gettime());
var obuffer=new stringbuffer();
d1=new date();
for(var i=0;i<1000000;i++)
var sresult=obuffer.tostring();
d2=new date();
document.write('第二次啊'+(d2.gettime()-d1.gettime()));
發現 在現在的瀏覽器中 壓根沒有得到預想中的情況。 恰恰相反。 後者的時間 需要的反而更多。 在火狐 和谷歌上面 相差還不是很明顯.在ie上 相差十分巨大。
如何把JS物件轉成陣列
1.前言 首先,當js物件是鍵值對的情況時 json物件 因為陣列時以數字為索引的,所以只能把js物件中的key或者value組成陣列使用。2.樣例如下 var obj var arr object.getownpropertynames obj arr one two var arr2 objec...
演算法 子陣列最大累加和
一 題目描述 給定乙個陣列arr,返回陣列的最大累加和。例 arr 1,2,3,5,2,6,1 所有的子陣列中 3,5,2,6 可以累加出最大的和12,所以返回12。二 兩種解法 思路一 暴力法 時間複雜度 o n 2 暴力解法 o n 2 param arr return private stat...
關於js陣列
length屬性保持大於等於陣列元素個數,當length屬性設定為乙個小於當前長度的非負整數n時,當前陣列中那些索引值大於或等於n的元素將從中刪除 可以通過object.defineproperty 讓陣列的length屬性變成唯讀 陣列方法 join 將陣列中的元素轉換成字串並連線在一起,不指定分...