This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var arr1:Array = [1,2,3,4,5,6]; | |
var arr2:Array; | |
var score:int; | |
score = getTimer(); | |
for (var i=0; i<10000; i++) | |
arr2 = arr1.concat(); | |
trace(arr1, arr2, getTimer() - score); | |
score = getTimer(); | |
for (var i=0; i<10000; i++) | |
arr2 = arr1.slice(); | |
trace(arr1, arr2, getTimer() - score); |
Результаты получились немного странноватыми. Диапазон примерно 9-14 очков для каждого способа. То один быстрее заканчивает, то второй. Ну и конечно надо понимать что копирование сложного объекта не произойдет. Т.е. код:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var arr1:Array = [{a:1, b:2},{c:3, d:4},{e:5, f:6}]; | |
var arr2:Array; | |
arr2 = arr1.concat(); | |
arr2[2].c = 33; | |
trace(arr1[2].c, arr2[2].c); |
выдаст: 33 33.
Комментариев нет:
Отправить комментарий