다운로드
소프트웨어 개발
계정
다운로드
소프트웨어 개발
Login
Forgot Account/Password
계정 만들기
언어
도움
언어
도움
×
Login
Login Name
Password
×
Forgot Account/Password
Translation Status of 한국말
Category:
Software
People
PersonalForge
Magazine
Wiki
검색
OSDN
>
브라 우즈 소프트웨어
>
Software Development
>
Interpreters
>
DMonkey
>
Ticket List/Search
>
Ticket #3655
DMonkey
Description
Project Summary
Developer Dashboard
웹 페이지
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
다운로드
List of Releases
Stats
소스 코드
Code Repository list
CVS
View Repository
티켓
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
포럼
List of Forums
도움 (8)
Open Discussion (26)
Users (0)
Mailing Lists
list of ML
dmonkey-dev
News
Ticket #3655
Ticket List
Submit New Ticket
RSS
関数に同じ配列変数を渡したときのバグ
오픈 날짜:
2004-01-01 04:53
마지막 업데이트:
2004-01-15 11:08
monitor
ON
OFF
Reporter:
qqrrm
소유자:
(None)
Type:
Bugs
Status:
Open
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None
Details
Reply
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
댓글 올리기
Reply
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
댓글 올리기
Reply
Logged In: YES
user_id=4244
文字化けしてますね・・・ (--)
すいません。
Attachment File List (
0
)
Attachment File List
No attachments
Edit
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Add Comment
Preview
Submit
b.delete(0);
alert(c.join('/'));
}
a=["d","e","f"];
abc(a,a);
//実行すると、e/fと表示されます。