Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   Array.prootype ???? (http://www.flasher.ru/forum/showthread.php?t=52789)

Jlekc 17.12.2003 13:05

Array.prootype ????
 
есть простенький код
Код:

Array.prototype.zzz = function() {
//        delete this;
//        this = [0, 0];
        this.push(30);
        this.shift();
};
var array:Array = [];
myArray.push(10);
myArray.push(20);
myArray.zzz();

1. почему строка 2 неработает ?
2. строка 3 разделяет this & myArray ?
работают только операции в строках 4,5

если кто знает буду благодарен

okv 17.12.2003 16:51

Потому как надо все таки создавать массив с именем myArray
var myArray:Array = [];
:)

Jlekc 17.12.2003 18:30

извини описался :p не но суть не изменилась

llllllllll 17.12.2003 18:54

Почитай про delete, при каких условиях объект или переменная удаляется :)

Array.prototype._delete = function() {
trace("ok");
delete [this.reference];
}
array = [];
array.reference = "array";
array._delete();

Jlekc 17.12.2003 20:03

хорошо за удаления спасибо,
Но чо будеш делаль с переприсваиванием:
Код:

Array.prototype._delete = function() {
Array.prototype._delete = function() {
        trace("ok");
        this = [0, 1];        // например так
        //        this уже не относиться к array
        //        и вызвать this[reference] нельзя
        //        но необходимо синхронизировать this и array
};
array = [1];
array.reference = "array";
array._delete();

Какии идеи ??

llllllllll 17.12.2003 20:23

Я не очень понимаю, что ты хочешь сделать :), но предыдущее решается так:

Array.prototype.xz = function() {
this.splice(0, this.length);
this.push(0,1);
}
array = [1,3,4,6,87,9];
array.xz();

nuran 18.12.2003 12:29

все это у вас через одно место ;)

Лучшеб ты мне забор объяснил как получить имя элемента массива объектов. Так к примеру

v[0] = new Face();
Face.prototype.stupidProto = function(){
Вот от сюда нужно получить номер, без передачи явно при создании через new. Как я думаю идей ни у кого не будет.
}

Ты забор человек хороший, ссылку на реализацию алгоритма выпуклой оболочки с объяснением нет?

Jlekc 18.12.2003 14:52

Цитата:

Я не очень понимаю, что ты хочешь сделать , но предыдущее решается так:
как это решаеться я знаю,
Код:

this = [0];        //this уже не относиться к array
почему это происходит, вот в чем вопрос

Jlekc 18.12.2003 14:55

Цитата:

...получить номер, без передачи явно при создании через new...
чота я не понял, что ты хочеш зделать :(
разясни плз

llllllllll 18.12.2003 15:22

Про delete хорошо прочитал? :) про ссылки и т д ...

Array.prototype.d = function(){
this = []; // равносильно new Array() - новый объект;
trace(this.length);
return this;
}
a = new Array(1,2,3,4,5); // а это ссылка в которой сохранена старая версия массива ...
s = a.d();

nuran, читай хелп к пятерке ...


Часовой пояс GMT +4, время: 06:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.