Цитата:
function a( p ){ alert([ this.b, p ]); } a.call({b: 3}, 4); т.е. с помощью call/apply ты можешь указать, для какого объекта вызвать функцию |
все всем спасибо - разобрался!:) не внимательно читал или не понял вначале.
|
Всем привет, а вот и очередной вопрос, на этот раз общего плана:
Читая про массивы встретил такую строчку - "JavaScript не поддерживает 'настоящие' многомерные массивы, но позволяет имитировать их при помощи массива из массивов." Так вот, подобное я встречаю уже не первый раз (кажется, еще в учебнике по С такое было, может еще где-то) и у меня всегда возникал вопрос, а что же такое "настоящие" многомерные массивы и встречаются ли они в языках программирования? |
насколько я понял, есть разные мнения на тему того, что такое "настоящий" массив:
1) предусмотрен ли в языке специальный синтаксис для многомерных массивов (есть ли многомерные массивы на уровне языка). C, например, не проходит по этому критерию, но проходит по следующему 2) как такие массивы реализованы: либо есть один непрерывный блок, хранящий последовательно все значения, либо есть много одномерных массивов, связанных друг с другом. Непрерывный блок может быть лучше с точки зрения производительности, но такие массивы менее гибкие, мало где нужны и мало где остались по первому критерию, проходит BASIC но в любом случае, тут не чем хвастаться а вот как работали с многомерными массивами в perl, пока там не появились ссылки Код:
@john = (47, "brown", 186); @mary = (23, "hazel", 128); @bill = (35, "blue", 157); Код:
$vitals = $vitals[0]; eval "\$${vitals}[1] = 'red'"; Код:
local(*array) = $vitals[0]; # Alias *array to *john |
Ясно, спасибо.
Хотя я так понял - разницы по большому счету нет. Первый критерий вообще получается ни на что не влияет, а второй насколько я понимаю уже умер, т.к. даже в С если делать динамический массив, то под новые элементы надо выделять отдельно память, которая будет располагаться вне начального блока памяти. |
ну как, по крайней мере, мне было бы интересно, если бы меня разубедили, что "настоящие" массивы уже не актуальны :)
|
Ну я этим точно не буду заниматься (:
|
Часовой пояс GMT +3, время: 06:37. |