خانه / مقالات اموزشی / اموزش جاوا اسكريپت / ﺁﺑﺠﮑﺖ ﻫﺎ ﻭ ﺣﻠﻘﻪ for in در جاوا اسكريپت
آموزش JAVASCRIPT
آموزش JAVASCRIPT

ﺁﺑﺠﮑﺖ ﻫﺎ ﻭ ﺣﻠﻘﻪ for in در جاوا اسكريپت

ﺩﺭﺱ ﻧﻬﻢ- ﺁﺑﺠﮑﺖ ﻫﺎ ﻭ ﺣﻠﻘﻪ for in

ﺩﺭ ﺩﺭﺱ‌ﻫﺎﯼ ﮔﺬﺷﺘﻪ ﭘﻴﺮﺍﻣﻮﻥ ﺍﻧﻮﺍﻉ ﺩﺍﺩﻩ‌ﻫﺎ ﺩﺭ ﺟﺎﻭﺍ ﺍﺳﮑﺮﻳﭙﺖ ﺻﺤﺒﺖ ﮐﺮﺩﻳﻢ ﻭ ﺩﺍﺩﻩ‌ﻫﺎﻳﯽ ﻣﺎﻧﻨﺪ ﻋﺪﺩ، ﺭﺷﺘﻪ، ﻣﻨﻄﻘﯽ، ﺁﺑﺠﮑﺖ ﻭ ﺁﺭﺍﻳﻪ ﺭﺍ ﻣﻌﺮﻓﯽ ﻧﻤﻮﺩﻳﻢ. ﺩﺭ ﺍﻳﻦ ﺩﺭﺱ ﻣﯽ‌ﺧﻮﺍﻫﻴﻢ ﺑﺎ ﻧﮕﺎﻫﯽ ﻋﻤﻴﻖ‌ﺗﺮ ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺁﺑﺠﮑﺖﻫﺎ ﭘﺮﺩﺍﺧﺘﻪ ﻭ ﺷﺮﺡ ﺁﻧﻬﺎ ﺭﺍ ﺗﮑﻤﻴﻞ ﮐﻨﻴﻢ.

ﺁﺟﮑﺖ ﺩﺭ ﺟﺎﻭﺍ ﺍﺳﮑﺮﻳﭙﺖ
ﺩﺭ ﺩﺭﺱ ﭘﻨﺠﻢ (ﺩﺭﺱ ﺁﺑﺠﮑﺖﻫﺎ) ﺩﺭ ﻣﻮﺭﺩ ﺁﺑﺠﮑﺖﻫﺎ ﺩﺭ ﺟﺎﻭﺍ ﺍﺳﮑﺮﻳﭙﺖ ﺷﺮﺡ ﺩﺍﺩﻳﻢ ﻭ ﮔﻔﺘﻴﻢ ﮐﻪ ﺑﻄﻮﺭ ﺗﻘﺮﻳﺒﯽ ﻫﻤﻪ ﭼﻴﺰ ﺩﺭ ﺟﺎﻭﺍ ﺍﺳﮑﺮﻳﭙﺖ ﺁﺑﺠﮑﺖ ﻫﺴﺘﻨﺪ؛ ﺣﺘﯽ ﺍﻧﻮﺍﻉ ﺩﺍﺩﻩ‌ﻫﺎﯼ ﻧﺨﺴﺘﻴﻦ ﻣﺎﻧﻨﺪ ﺭﺷﺘﻪ‌ﻫﺎ؛ ﺍﻟﺒﺘﻪ ﺑﻪ ﻏﻴﺮ ﺍﺯ null ﻭ undefined، ﻋﻼﻭﻩ ﺑﺮ ﺁﻥ ﺷﻤﺎ ﻣﯽ‌ﺗﻮﺍﻧﻴﺪ ﺁﺑﺠﮑﺘﯽ ﺭﺍ ﺑﺮﺍﯼ ﺧﻮﺩﺗﺎﻥ ﺑﺴﺎﺯﻳﺪ. ﻧﮑﺘﻪ‌ﺍﯼ ﮐﻪ ﺑﺎﻳﺪ ﺑﻪ ﺁﻥ ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﺍﻳﻨﺴﺖ ﮐﻪ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﺍﻧﻮﺍﻉ ﺩﺍﺩﻩ‌ﻫﺎﯼ ﻧﺨﺴﺘﻴﻦ ﻣﯽ‌ﺗﻮﺍﻧﻨﺪ ﻫﻢ ﺑﻪ ﺷﮑﻞ ﺳﻨﺘﯽ (ﻧﻮﻉ ﻧﺨﺴﺘﻴﻦ ﺩﺍﺩﻩ‌ﻫﺎ) ﻭ ﻫﻢ ﺑﻪ ﺷﮑﻞ ﺁﺑﺠﮑﺖ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗﺮﺍﺭ ﮔﻴﺮﻧﺪ. ﺍﻳﻦ ﺑﺪﺍﻥ ﻣﻌﻨﯽ ﺳﺖ ﮐﻪ ﺩﺍﺩﻩ‌ﻫﺎ ﺭﺍ ﻫﻢ ﻣﯽ‌ﺗﻮﺍﻥ ﺑﺸﮑﻞ ﻫﻤﻴﺸﮕﯽ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩ ﻭ ﻫﻢ ﻣﯽ‌ﺗﻮﺍﻥ ﺁﻧﻬﺎ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﻳﮏ ﺁﺑﺠﮑﺖ ﻣﻌﺮﻓﯽ ﮐﺮﺩ ﺑﺎ ﺍﻳﻦ ﺗﻔﺎﻭﺕ ﮐﻪ ﻭﻗﺘﯽ ﺁﻧﻬﺎ ﺭﺍ ﺑﻪ ﺷﮑﻞ ﺁﺑﺠﮑﺖ ﻣﻌﺮﻓﯽ ﻣﯽ‌ﮐﻨﻴﻢ ﺩﺍﺩﻩ‌ﻫﺎ ﺩﺍﺭﺍﯼ «ﻭﻳﮋﮔﯽ» ﻭ «ﻣﺘﺪ» ﻣﯽ‌ﺷﻮﻧﺪ.

ﮔﻔﺘﻴﻢ ﻳﮏ ﺁﺑﺠﮑﺖ ﻧﻮﻋﯽ ﺧﺎﺻﯽ ﺍﺯ ﺩﺍﺩﻩ ﺍﺳﺖ ﮐﻪ ﺩﺍﺭﺍﯼ «ﻭﻳﮋﮔﯽ» ﻭ «ﻣﺘﺪ» ﺍﺳﺖ ﻭ ﺍﻳﻦ ﺩﻭ ﻓﺎﮐﺘﻮﺭ ﺗﻮﺍﻧﺎﻳﯽ ﺑﺎﻻﻳﯽ ﺑﺮﺍﯼ ﺑﮑﺎﺭﮔﻴﺮﯼ ﺩﺍﺩﻩ‌ﻫﺎ ﺑﻪ ﻣﺎ ﻣﯽ‌ﺩﻫﻨﺪ. ﻭﻳﮋﮔﯽ‌ﻫﺎ ﻣﻘﺎﺩﻳﺮﯼ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﻪ ﺁﺑﺠﮑﺖ ﻧﺴﺒﺖ ﺩﺍﺩﻩ ﻣﯽ‌ﺷﻮﻧﺪ ﻭ ﻣﺘﺪ‌ﻫﺎ ﻋﻤﻞ‌ﻫﺎﻳﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﺮ ﺭﻭﯼ ﺁﺑﺠﮑﺖ ﺍﻧﺠﺎﻡ ﻣﯽ‌ﺷﻮﻧﺪ.

ﺳﺎﺧﺖ ﻳﮏ ﺁﺑﺠﮑﺖ
ﺑﺮﺍﯼ ﺳﺎﺧﺖ ﺁﺑﺠﮑﺖ ﮐﺎﻓﻴﺴﺖ ﺑﻪ ﺷﮑﻞ ﺯﻳﺮ ﻋﻤﻞ ﮐﻨﻴﺪ:

person = new Object() ;

ﺑﻪ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺎ ﻳﮏ ﺁﺑﺠﮑﺖ ﺑﺎ ﻧﺎﻡ person ﺳﺎﺧﺘﻴﻢ ﮐﻪ ﻣﯽ‌ﺗﻮﺍﻧﺪ ﺩﺍﺭﺍﯼ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺧﺎﺹ ﺧﻮﺩ ﺑﺎﺷﺪ. ﺑﺮﺍﯼ ﺳﺎﺧﺖ ﻭﻳﮋﮔﯽ ﻭ ﻧﺴﺒﺖ ﺩﺍﺩﻥ ﻣﻘﺪﺍﺭ ﺑﻪ ﺁﻧﻬﺎ ﺑﻪ ﺷﮑﻞ ﺯﻳﺮ ﻋﻤﻞ ﻣﯽ‌ﮐﻨﻴﻢ:

person.firstname =” ﭘﻴﻤﺎﻥ ” ;

person.lastname=” ﺍﻳﺮﺍﻧﯽ “;

person.age= 30 ;

ﺑﺮﺍﯼ ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺁﺑﺠﮑﺖ ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﺑﻪ ﺩﻭ ﺻﻮﺭﺕ ﻣﯽ‌ﺗﻮﺍﻧﻴﻢ ﻋﻤﻞ ﮐﻨﻴﻢ:

ﻳﮑﻢ: ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎ ﺑﺼﻮﺭﺕ ﺗﮏ ﺑﻪ ﺗﮏ:

alert (person.firstname) ;

ﻫﻤﺎﻧﻄﻮﺭ ﮐﻪ ﻣﯽ‌ﺑﻴﻨﻴﺪ ﺑﺎ ﺁﻭﺭﺩﻥ «ﻧﺎﻡ ﺁﺑﺠﮑﺖ. ﻧﺎﻡ ﻭﻳﮋﮔﯽ» ﻣﯽ‌ﺗﻮﺍﻧﻴﻢ ﺑﻪ ﺁﻥ ﺩﺳﺘﺮﺳﯽ ﭘﻴﺪﺍ ﮐﻨﻴﻢ.

ﺩﻭﻡ: ﻧﻮﻉ ﺩﻳﮕﺮ ﮐﺎﺭ ﺑﺎ ﺁﺑﺠﮑﺖﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺣﻠﻘﻪ (for in) ﺩﺭ ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺁﺑﺠﮑﺖ ﺍﺳﺖ ﮐﻪ ﺍﻳﻦ ﻋﻤﻞ ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻫﻤﻪ ﺁﻧﻬﺎ ﺭﺍ ﺑﺼﻮﺭﺕ ﻳﮑﺒﺎﺭﻩ ﻭ ﻧﻪ ﺗﮏ ﺑﻪ ﺗﮏ ﻣﯽ‌ﺳﺮ ﻣﯽ‌ﺳﺎﺯﺩ ﻭ ﮐﺎﺭ ﺑﺎ ﺁﺑﺠﮑﺖ‌ﻫﺎ ﺭﺍ ﺑﺮﺍﯼ ﻣﺎ ﺑﺴﻴﺎﺭ ﺳﺎﺩﻩ ﻣﯽ‌ﮐﻨﺪ:

for (x in person) {

document.write(person[x]);

}

x ﻣﺘﻐﻴﺮﯼ ﺳﺖ ﮐﻪ ﻣﻘﺎﺩﻳﺮ ﺩﺍﺧﻞ ﺁﺑﺠﮑﺖ ﺩﺭ ﻫﺮ ﺗﮑﺮﺍﺭ ﺣﻠﻘﻪ ﺩﺭ ﺩﺍﺧﻞ ﺁﻥ ﻗﺮﺍﺭ ﻣﯽ‌ﮔﻴﺮﻧﺪ.

x in person ﻧﺤﻮﻩ ﺍﺷﺎﺭﻩ ﺑﻪ ﻣﻘﺎﺩﻳﺮ ﺩﺭ ﻫﺮ ﺩﻭﺭ ﺗﮑﺮﺍﺭ ﺣﻠﻘﻪ ﺍﺳﺖ.

person[x] ﺷﻴﻮﻩ ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺁﺑﺠﮑﺖ ﺩﺭ ﺯﻣﺎﻥ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺣﻠﻘﻪ ﺍﺳﺖ.

ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺣﻠﻘﻪ ﺑﺮﺍﯼ ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺁﺑﺠﮑﺖ
ﺑﺮﺍﯼ ﺩﺳﺘﺮﺳﯽ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﻳﮏ ﺁﺑﺠﮑﺖ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺣﻠﻘﻪ ﺑﻪ ﺷﮑﻞ ﺯﻳﺮ ﻋﻤﻞ ﻣﯽ‌ﮐﻨﻴﻢ:

<!DOCTYPE html>

<html> <head> </head>

<body>

<script>

person = new Object() ;

person.firstname =” ﭘﻴﻤﺎﻥ ” ;

person.lastname =” ﺍﻳﺮﺍﻧﯽ “;

person.age = 30 ;

for (x in person) {

document.write ( person[x] + “<br />” ) ;

}

</script>

</body> </html>

ﺩﺭ ﻧﻤﻮﻧﻪ ﺫﮐﺮ ﺷﺪﻩ ﺍﺑﺘﺪﺍ ﻳﮏ ﺁﺑﺠﮑﺖ ﺑﺎ ﻧﺎﻡ (person) ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﻭ ﺑﻌﺪ ﻣﻘﺎﺩﻳﺮﯼ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﻧﺴﺒﺖ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ. ﺳﭙﺲ ﺗﻮﺳﻂ ﺣﻠﻘﻪ for in ﺩﺍﺩﻩ‌ﻫﺎﯼ ﻧﺴﺒﺖ ﺩﺍﺩﻩ ﺷﺪﻩ ﺑﻪ ﺁﺑﺠﮑﺖ ﭼﺎﭖ ﺷﺪﻩ ﺍﺳﺖ:

for (x in person) {

document.write ( person[x] + “<br />” ) ;

}

ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ Object Constructor
«ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﻳﮏ ﺗﺎﺑﻊ ﺍﺳﺖ ﮐﻪ ﻣﯽ‌ﺗﻮﺍﻥ ﺑﺎ ﮐﻤﮏ ﺁﻥ ﻳﮏ ﺁﺑﺠﮑﺖ ﺳﺎﺧﺘﻪ ﻭ ﻣﻘﺎﺩﻳﺮﯼ ﺭﺍ ﺑﻪ ﻭﻳﮋﮔﯽ‌ﻫﺎ ﻭ ﻣﺘﺪﻫﺎﯼ ﺁﻥ ﺍﺧﺘﺼﺎﺹ ﺩﺍﺩ. ﺑﻌﺪ ﺍﺯ ﺳﺎﺧﺖ «ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﺗﻨﻬﺎ ﺑﺎ ﮔﺮﻓﺘﻦ ﻧﻤﻮﻧﻪ ﺍﺯ «ﺳﺎﺯﻧﺪﻩ» ﻣﯽ‌ﺗﻮﺍﻥ ﻳﮏ ﺁﺑﺠﮑﺖ ﺳﺎﺧﺖ. ﺑﺪﻳﻦ ﺷﮑﻞ ﻣﯽ‌ﺗﻮﺍﻥ ﻧﻤﻮﻧﻪ‌ﻫﺎﯼ ﺑﺴﻴﺎﺭﯼ ﺍﺯ ﺭﻭﯼ ﺳﺎﺯﻧﺪﻩ ﺳﺎﺧﺖ:

function person ( firstname, lastname, age )

{

this.firstname = firstname ;

this.lastname = lastname ;

this.age = age ;

}

ﺑﺎ ﺗﺎﺑﻊ (ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ) ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﺩﺭ ﺑﺎﻻ ﺗﻮﺍﻧﺎﻳﯽ ﻧﻤﻮﻧﻪ ﺳﺎﺯﯼ‌ﻫﺎﯼ ﻣﺘﻔﺎﻭﺕ ﺗﻨﻬﺎ ﺍﺯ ﺭﻭﯼ ﺍﻳﻦ ﺳﺎﺯﻧﺪﻩ ﺭﺍ ﺑﻬﻤﺮﺍﻩ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﺩﺍﺧﻞ ﺁﻥ ﭘﻴﺪﺍ ﻣﯽ‌ﮐﻨﻴﻢ. ﺑﺮﺍﯼ ﻧﻤﻮﻧﻪ ﺳﺎﺯﯼ ﺍﺯ ﺭﻭﯼ ﺁﻥ ﮐﺎﻓﻴﺴﺖ ﺑﻪ ﺷﮑﻞ ﺯﻳﺮ ﻋﻤﻞ ﮐﻨﻴﻢ:

var person1 = new person ( “ﭘﻴﻤﺎﻥ” , “ﺍﻳﺮﺍﻧﯽ” , ۳۵ );

var person2 = new person ( “ﺷﻬﺮﻭﺯ” , “ﺗﻬﺮﺍﻧﯽ” , ۳۴ );

ﻫﻤﺎﻧﻄﻮﺭ ﮐﻪ ﻣﯽ‌ﺑﻴﻨﻴﺪ «ﺩﻭ» ﻧﻤﻮﻧﻪ ﺁﺑﺠﮑﺖ ﺍﺯ ﺭﻭﯼ «ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﻭ ﺑﺮﺍﯼ ﻭﻳﮋﮔﯽ‌ﻫﺎﯼ ﻫﺮ ﮐﺪﺍﻡ ﻣﻘﺎﺩﻳﺮ ﻣﺘﻔﺎﻭﺗﯽ ﻧﺴﺒﺖ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ. ﭘﺲ ﺑﻮﺟﻮﺩ ﺁﻭﺭﺩﻥ ﻳﮏ «ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﺩﺭ ﺳﺎﺧﺘﻦ ﺁﺑﺠﮑﺖﻫﺎﯼ ﻣﺘﻔﺎﻭﺕ ﺍﺯ ﺭﻭﯼ ﻳﮏ ﻧﻤﻮﻧﻪ، ﮐﺎﺭﺍﻳﯽ ﺩﺍﺭﺩ ﻭ ﺑﻪ ﻣﺎ ﮐﻤﮏ ﻣﯽ‌ﮐﻨﺪ ﺗﺎ ﺑﺎ ﺩﺍﺷﺘﻦ ﻳﮏ ﺍﻟﮕﻮ ﻧﻤﻮﻧﻪ‌ﻫﺎﯼ ﺑﺴﻴﺎﺭﯼ ﺭﺍ ﺑﺮﺍﯼ ﺧﻮﺩ ﺑﺴﺎﺯﻳﻢ. ﻓﺮﺽ ﮐﻨﻴﺪ ﮐﻪ ﺑﺮﻧﺎﻣﻪ‌ﺍﯼ ﺑﺮﺍﯼ ﻧﮕﻬﺪﺍﺭﯼ ﻣﺸﺨﺼﺎﺕ ﮐﺎﺭﺑﺮﺍﻥ ﺗﺎﺭﻧﻤﺎﯼ ﺧﻮﺩ ﻣﯽ‌ﺳﺎﺯﻳﺪ، ﺑﺎ ﺍﻳﻦ ﻓﻦ ﺷﻤﺎ ﺑﺮﺍﺣﺘﯽ ﻭ ﺗﻨﻬﺎ ﺑﺎ ﺩﺍﺷﺘﻦ ﻳﮏ «ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﻫﺮ ﺯﻣﺎﻥ ﮐﻪ ﺧﻮﺍﺳﺘﻴﺪ ﻣﺸﺨﺼﺎﺗﯽ ﺭﺍ ﻧﮕﻬﺪﺍﺭﯼ ﮐﻨﻴﺪ ﺗﻨﻬﺎ ﺑﺎ ﻧﻤﻮﻧﻪ ﺳﺎﺯﯼ ﺍﺯ ﺭﻭﯼ «ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﻳﮏ ﺁﺑﺠﮑﺖ ﺗﺎﺯﻩ ﺑﺴﺎﺯﻳﺪ.

ﺍﺿﺎﻓﻪ ﮐﺮﺩﻥ ﻣﺘﺪ ﺑﻪ ﺁﺑﺠﮑﺖ
ﺩﺭ ﻗﺴﻤﺖ ﭘﻴﺸﻴﻦ ﺩﻳﺪﻳﻢ ﮐﻪ ﭼﻄﻮﺭ ﻣﯽ‌ﺷﻮﺩ ﻭﻳﮋﮔﯽ‌ﻫﺎﻳﯽ ﺭﺍ ﺑﻪ ﻳﮏ ﺁﺑﺠﮑﺖ ﻧﺴﺒﺖ ﺩﺍﺩ ﻭ ﻣﻘﺎﺩﻳﺮﯼ ﺭﺍ ﺩﺭ ﺁﻥ ﺍﻧﺘﺴﺎﺏ ﮐﺮﺩ. ﺣﺎﻝ ﻣﯽ‌ﺧﻮﺍﻫﻴﻢ ﺑﺮﺍﯼ ﻳﮏ ﺁﺑﺠﮑﺖ ﻣﺘﺪﯼ ﺭﺍ ﺳﺎﺧﺘﻪ ﻭ ﺑﺪﺍﻥ ﻧﺴﺒﺖ ﺩﻫﻴﻢ. ﻣﺘﺪ‌ﻫﺎ ﺩﺭ ﺍﺻﻞ‌‌ ﻫﻤﺎﻥ ﺗﻮﺍﺑﻊ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﻪ ﻳﮏ ﺁﺑﺠﮑﺖ ﻧﺴﺒﺖ ﺩﺍﺩﻩ ﻣﯽ‌ﺷﻮﻧﺪ. ﺍﻳﻦ ﮐﺎﺭ ﺭﺍ ﺑﺎ ﮐﻤﮏ «ﺳﺎﺯﻧﺪﻩ ﺁﺑﺠﮑﺖ» ﻭ ﺩﺭ ﺩﺭﻭﻥ ﺁﻥ ﺍﻧﺠﺎﻡ ﻣﯽ‌ﺩﻫﻴﻢ:

function person ( firstname , lastname , age ) {

this.firstname = firstname;

this.lastname = lastname;

this.age = age ;

this.changeName = changeName;

function changeName (name)

{

this. firstname = name ;

}

}

ﺩﺭ ﺩﺍﺧﻞ «ﺁﺑﺠﮑﺖ ﺳﺎﺯﻧﺪﻩ» ﻣﺘﺪﯼ ﺑﺎ ﻧﺎﻡ «changeName» ﺗﻌﺮﻳﻒ ﮐﺮﺩﻩ ﻭ ﺩﺭ ﺩﺍﺧﻞ ﺁﻥ ﻋﻤﻠﻴﺎﺗﯽ (ﺗﻐﻴﻴﺮ ﻧﺎﻡ) ﺭﺍ ﻧﻮﺷﺘﻪ‌ﺍﻳﻢ.

function changeName (name)

{

this. firstname = name ;

}

ﻧﮑﺘﻪ: ﻋﺒﺎﺭﺕ this ﺩﺭ this. firstname ﺑﺮﺍﯼ ﺍﺷﺎﺭﻩ ﮐﺮﺩﻥ ﺑﻪ ﻭﻳﮋﮔﯽ ﻣﻮﺭﺩ ﻧﻈﺮ ﺩﺭ ﺗﺎﺑﻊ ﻻﺯﻡ ﺍﺳﺖ. ﭼﺮﺍﮐﻪ ﻣﺎ ﺍﺯ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﺮﺍﯼ ﺗﻐﻴﻴﺮ ﻧﺎﻡ‌ﻫﺎﯼ ﺑﺴﻴﺎﺭﯼ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ‌ﮐﻨﻴﻢ ﻭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻳﻦ ﻋﺒﺎﺭﺕ ﺑﻪ ﻧﺎﻡ ﺧﺎﺻﯽ ﺍﺷﺎﺭﻩ ﻧﻤﯽ‌ﮐﻨﻴﻢ ﺑﻠﮑﻪ ﻫﺮ ﺑﺎﺭ ﮐﻪ ﺗﻐﻴﻴﺮﺍﺕ ﻻﺯﻡ ﺑﻮﺩ ﺗﻨﻬﺎ ﺑﺎ ﺁﻭﺭﺩﻥ ﻧﺎﻡ ﺁﺑﺠﮑﺖ ﻣﻮﺭﺩ ﻧﻈﺮ ﻋﻤﻠﻴﺎﺕ ﺑﺼﻮﺭﺕ ﻋﻤﻮﻣﯽ ﻭ ﺑﺮﺍﯼ ﻫﻤﻪ ﻧﺎﻡ‌ﻫﺎ ﺍﻧﺠﺎﻡ ﻣﯽ‌ﺷﻮﺩ.

ﺣﺎﻝ ﺑﺎ ﻓﺮﺍﺧﻮﺍﻧﺪﻥ ﻧﺎﻡ ﻣﺘﺪ ﻣﯽ‌ﺗﻮﺍﻧﻴﻢ ﻋﻤﻠﻴﺎﺕ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﻫﻴﻢ.

person1.changeName(“ﭘﮋﻣﺎﻥ”);

person2.changeName(“ﺷﻬﺮﺍﻡ”);

ﺩﺭ ﮐﺪﻫﺎﯼ ﺑﺎﻻ ﻣﯽ‌ﺑﻴﻨﻴﺪ ﮐﻪ ﺑﺎ ﺁﻭﺭﺩﻥ ﻧﺎﻡ ﺁﺑﺠﮑﺖ ﻭ ﻧﺎﻡ ﻣﺘﺪ، ﻣﻮﻓﻖ ﺑﻪ ﺗﻐﻴﻴﺮ ﻫﺮ ﺩﻭ ﻧﺎﻡ ﻣﯽ‌ﺷﻮﻳﻢ. ﺣﺎﻝ ﻣﯽ‌ﺧﻮﺍﻫﻴﻢ ﺑﺎ ﻧﻮﺷﺘﻦ ﮐﺎﻣﻞ ﮐﺪ‌ﻫﺎ ﺍﺑﺘﺪﺍ ﺁﺑﺠﮑﺘﯽ ﺗﻌﺮﻳﻒ ﮐﺮﺩﻩ ﻭ ﺩﺭ ﺩﺍﺧﻞ ﺁﻥ ﻣﻘﺎﺩﻳﺮﯼ ﺭﺍ ﻧﺴﺒﺖ ﺩﻫﻴﻢ ﻭ ﺑﻌﺪ ﺁﻧﻬﺎ ﺭﺍ ﭼﺎﭖ ﮐﻨﻴﻢ. ﺩﺭ ﺍﺩﺍﻣﻪ ﺑﺎ ﮐﻤﮏ ﻣﺘﺪ (changeName) ﻧﺎﻡ ﻳﮑﯽ ﺍﺯ ﺁﺑﺠﮑﺖﻫﺎ ﺭﺍ ﺗﻐﻴﻴﺮ ﺩﺍﺩﻩ ﻭ ﺩﻭﺑﺎﺭﻩ ﺧﺮﻭﺟﯽ ﺁﻥ ﺭﺍ ﭼﺎﭖ ﻣﯽ‌ﮐﻨﻴﻢ ﺗﺎ ﺗﻐﻴﻴﺮ ﺍﻳﺠﺎﺩﯼ ﺗﻮﺳﻂ ﺗﺎﺑﻊ ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﮐﻨﻴﻢ:

<!DOCTYPE html>

<html> <head> <script>

function person ( firstname , lastname , age ) {

this.firstname = firstname ;

this.lastname = lastname ;

this.age = age ;

this.changeName = changeName ;

function changeName (name) {

this.firstname = name ;

} }

</script> </head>

<body>

<script>

var person1 = new person ( “ﭘﻴﻤﺎﻥ” , “ﺍﻳﺮﺍﻧﯽ” , ۳۵ );

document.write( ” <br />” + person1.firstname + “<br />” ) ;

person1.changeName(“ﭘﮋﻣﺎﻥ”) ;

document.write( ” <br />” + person1.firstname + “<br />” ) ;

</script>

</body>

</html>

ﺑﺎ ﻣﺮﻭﺭﯼ ﺑﺮ ﮐﺪﻫﺎﯼ ﻧﻮﺷﺘﻪ ﺷﺪﻩ ﺗﻐﻴﻴﺮ ﺍﻧﺠﺎﻡ ﺷﺪﻩ ﺗﻮﺳﻂ ﺗﺎﺑﻊ changeName ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﻣﯽ‌ﮐﻨﻴﻢ.

منبع :جاوا اسكريپت

درباره آموزشگاه نوین آی تی

همچنین ببینید

آموزش برنامه نویسی جاوا

نحوه نام گذاری متغییر های جاوا

مطلب جدیدی که در این آموزش قرار است فرا بگیریم نحوه صحیح نامگذاری متغیر ها ...

پاسخ دهید

علی طاهری آموزشگاه طراحی سایت نوین آی تی 021-88283800 info(@)novin-it.net