Descargar
Desarrollar
Cuenta
Descargar
Desarrollar
Entrar
Forgot Account/Password
Crear Cuenta
Idioma
Ayuda
Idioma
Ayuda
×
Entrar
Nombre de usuario
Contraseña
×
Forgot Account/Password
Translation Status of Español
Categoría:
Software
Gente
PersonalForge
Magazine
Wiki
Buscar
OSDN
>
Buscar Software
>
Software Development
>
Interpreters
>
DMonkey
>
Ticket List/Search
>
Incidencia #3655
DMonkey
Descripción
Project Summary
Developer Dashboard
Página Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Historial
Descargas
List of Releases
Stats
Código Fuente
Code Repository list
CVS
Ver Repositorio
Incidencia
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
Foros
List of Forums
Ayuda (8)
Open Discussion (26)
Users (0)
Mailing Lists
list of ML
dmonkey-dev
Noticias
Incidencia #3655
Ticket List
Submit New Ticket
RSS
関数に同じ配列変数を渡したときのバグ
Abrir Fecha:
2004-01-01 04:53
Última actualización:
2004-01-15 11:08
monitor
ON
OFF
Informador:
qqrrm
Propietario:
(Ninguno)
Tipo:
Bugs
Estado:
Open
Componente:
(Ninguno)
Hito:
(Ninguno)
Prioridad:
5 - Medium
Gravedad:
5 - Medium
Resolución:
Ninguno
Fichero:
Ninguno
Details
Responder
function abc(b,c){
b.delete(0);
alert(c.join('/'));
}
a=["d","e","f"];
abc(a,a);
//実行すると、e/fと表示されます。
Ticket History (2/2 Histories)
2004-01-15 11:01
Updated by:
b2r
Comentario
Responder
Logged In: YES
user_id=4244
これはバグではありません。(^^;
引数として渡されるのは、配列(オブジェクト)への参照です。
配列の内容がコピーされるわけではありません。
詳しくは"参照渡し"と"値渡し"あたりでぐぐってください。
他のオブジェクト指向言語でも、たいていDMonkeyと同様の結果になり
ます。
ちなみに単なる代入も参照です。
次のコードも関数の引数として渡した時と同様の結果になります。
a = ["d", "e", "f"];
b = a;
b.delete(0);
alert(a.join("/"));
alert(b.join("/"));
値コピーしたい場合は、
a = ["d", "e", "f"];
b = a.slice(0);
b.delete(0);
alert(a.join("/"));
alert(b.join("/"));
とでもすれば、aとbが個別にデータを持ちます。
2004-01-15 11:08
Updated by:
b2r
Comentario
Responder
Logged In: YES
user_id=4244
文字化けしてますね・・・ (--)
すいません。
Attachment File List (
0
)
Attachment File List
No attachments
Editar
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Entrar
Add Comment
Vista previa
Submit
b.delete(0);
alert(c.join('/'));
}
a=["d","e","f"];
abc(a,a);
//実行すると、e/fと表示されます。