![]() |
Сумма массива
Посоветуйте пожалуйста, что не так
Код:
var counts = new Array(4, 7, 2); |
что это за переменные такие? :)
у вас result (если ранее не объявлен) равен undefined (NaN), counts тоже чепуха какая-то, о которой ранее не говорится (из того фрагмента кода), затем объявляется переменная sumr равная 0 и она же возвращается (зачем тогда вся эта функция, если по данному куску кода можно было просто написать sumr = 0 и не вызывать никакую функцию) и зачем возвращать значение переменной, над которой никаких действий не производилось? бред короче :) |
а какой результат вы хотите видеть?
counts не объявлен массив, а элементы в нем не содержатся. добавляйте любой элемент в массив с помощью таких методов, напр: Код:
var someArr:Array = new Array(); |
Класс MArray
Код:
class MArray extends Array {Код:
var _marr:MArray = new MArray('a',0,.45,90,{a:'s'});Код:
a,0,0.45,90,[object Object] |
wvxvw, оригинальный конструктор класса. Ну то, что написан, мягко говоря, криво, так ещё и цикл в else if получится бесконечный.
|
Код:
var counts = [4, 7, 2];Код:
var sumr, i = 0;// зачем так объявлять переменные? |
alexcon314 спасибо, с переменными исправлюсь
|
Цитата:
PS: Код:
class MArray extends Array { |
Цитата:
Хотя бы так (с восьмой версии): Код:
public function MArray() { |
wvxvw, я смотрю ты с public, private не дружишь :) чем они тебе неугодили?
|
Цитата:
Кразифлашер - при чем тут паблик/прайвет? Если не объявлено - значит паблик. И это к теме никакого отношения не имеет. Мне не нужно вызывать пуш или еще какой метод, мне надо, чтобы конструктор Array'я был так же конструктором моего класса, ну или что-нибудь, что делало бы то же самое. И вопрос в последнем посте - не как сделать по-другому (это я как-нть и сам могу =), а почему this из конструктора и из метода трейсится по-разному. |
затем что если ты его переопределишь в друх наследниках то однозначно вызовется правельный.
а про не ту операцию: по крайнее мере результат будут эдэнтичен. только твой не работает, а дениса работает :) |
Цитата:
|
Блуд, мой первый вариант - тоже будет работать правельно (после поправки). Вопрос не как сделать, а почему this трейсится по-разному.
ЗЫ. по поводу паблик/прайвет ключей перед конструктором - то ето скорее путает человека, т.как конструктор - ето не функция если по-честному, вот именно там писать ключи не нужно. Ето глупый способ создавать синглтон в АС2 объявляя конструктор как прайвет (кроме того до конца не работающий). |
Выражение «this = …» само по себе абсурдно.
|
не будет твой вариант работать ни прикаких условиях :) this - readonly
записью this = ты по идеи должен изменить экзепляр класса MArray на экзепляр Array, а значит метода summ там уже не будет :) |
Ну, ребят =) я же не спрашиваю, а кажется ли вам это выражение абсурдным или неправельным или наводящим смертную тоску на длиннохвостых попугаев Австралии %)
Компайлер не ругается - значит можно %) Ну как же не будет? %) Простой копипаст и жмакание Контрол-Ентер доказывает обратное =) Просто мне кажется, что this в конструкторе показывает куда-то не совсем туда, куда я предполагал %) Или, поставим вопрос по другому: Куда девается значение this после того, как конструктор выполняется? |
бугага ... Олег, ты знаешь что такое this? куда он делася :) а никуда. это была локальная перменная конструктора, либо не пойми хер что. этот код не рабочей :) я тебе могу 10ки вариантов написания кода предоставить где компилятор не ругается, а нефига не работет. да НЕ ПРОВЕРЯЕТ компилятор такого рода синтаксис :)
|
Ладно, фик с ним %) Просто странно, я был в полной уверенности, что this в конструкторе будет показывать туда же, куда и this объекта который он создает. =) Ну нет, так нет.
|
this это как бы "данный объект, класс"...и он одинаков как в конструкторе, так и в других методах ;-)
|
просто ты внутри самого объекта пытаешься переопределить сам объект :) ты извини но тебе это никто не сможет разрешать.
|
| Часовой пояс GMT +4, время: 16:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.