Mam benchmarkingowi dwie metody: pozycje tablicyDlaczego dostęp do właściwości obiektu jest zawsze szybszy niż w przypadku elementów tablicy?
dostępu
var object = [10, 15, 20];
var x = object[0];
var y = object[1];
var z = object[2];
i dostęp do właściwości obiektów
var object = {
x: 10,
y: 15,
z: 20
};
var x = object.x;
var y = object.y;
var z = object.z;
ja oczekiwane dostęp do elementów tablicy o wiele szybciej, ponieważ nie ma rozdzielczości nazw właściwości związanych z.
Jednak, ku mojemu zaskoczeniu, dostęp do właściwości obiektu był w przybliżeniu 30% szybszy we wszystkich przeglądarkach.
To wyniki testów mnie zdezorientowany. Z jakiego powodu poprzednia metoda powinna być o wiele wolniejsza od tej drugiej?
* „... ponieważ nie ma rozdzielczość Nazwa obiektu zaangażowany.” Co sprawia, że myślisz, że nie ma rozdzielczość nazwa właściwości? Tablice są po prostu fantazyjnymi obiektami. Wskaźniki tablicowe są nazwami właściwości. –
@amnotiam Zdrowy rozsądek z tła C. – caiosm1005
Tak, z JavaScript czasami trzeba zostawić zdrowy rozsądek przy drzwiach. –