SlideShare a Scribd company logo
1 of 100
Download to read offline
www.takbook.com
I
‫ﭘﯿﺸﮕﻔﺘﺎر‬
.‫ﺑﻮد‬ ‫اي‬ ‫ﮐﻨﻨﺪه‬ ‫ﮐﺴﻞ‬ ‫و‬ ‫ﺳﺮد‬ ‫ﺑﺴﯿﺎر‬ ‫ﻣﮑﺎن‬ ‫وب‬ ،‫دور‬ ‫ﭼﻨﺪان‬ ‫ﻧﻪ‬ ‫ﻫﺎي‬ ‫ﺳﺎل‬ ‫در‬‫ﺳﺎﺧﺘﻤﻨﺪ‬ ‫ﻫﺎي‬ ‫ﻣﺘﻦ‬ ‫از‬ ‫ﮐﻪ‬ ‫وﺑﯽ‬ ‫ﺻﻔﺤﺎت‬HTML‫اﯾﺠﺎد‬
‫ﻟﯿﻨﮑﯽ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﮐﻪ‬ ‫ﺑﻮد‬ ‫اﯾﻦ‬ ‫ﺻﻔﺤﺎت‬ ‫ﺑﺎ‬ ‫ﮐﺎرﺑﺮان‬ ‫ﺗﻌﺎﻣﻞ‬ ‫راه‬ ‫ﺗﻨﻬﺎ‬ .‫ﮐﺮدﻧﺪ‬ ‫ﻣﯽ‬ ‫اﮐﺘﻔﺎ‬ ‫اﻃﻼﻋﺎت‬ ‫ﯾﮑﺴﺮي‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﺑﻪ‬ ‫ﺗﻨﻬﺎ‬ ‫ﺑﻮدﻧﺪ‬ ‫ﺷﺪه‬
!‫اﺳﺖ‬ ‫آور‬ ‫ﻋﺬاب‬ ‫ﻫﻢ‬ ‫روزﻫﺎ‬ ‫آن‬ ‫ﻓﮑﺮ‬ ‫ﺣﺘﯽ‬ .‫ﻣﺎﻧﺪﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺟﺪﯾﺪ‬ ‫ﺻﻔﺤﻪ‬ ‫ﯾﮏ‬ ‫ﺑﺎرﮔﺬاري‬ ‫ﻣﻨﺘﻈﺮ‬ ‫و‬ ‫ﮐﺮده‬ ‫ﮐﻠﯿﮏ‬
‫ﮐﺎرﺑﺮدي‬ ‫ﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﻤﭽﻮن‬ ‫ﻫﺎ‬ ‫ﺳﺎﯾﺖ‬ ‫از‬ ‫ﺑﺴﯿﺎري‬ ‫اﻣﺮوزه‬ ‫اﻣﺎ‬‫روﯾﺪادﻫﺎي‬ ‫ﺗﻤﺎﻣﯽ‬ ‫ﺑﻪ‬ ‫درﻧﮓ‬ ‫ﺑﯽ‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫ﻣﯽ‬ ‫و‬ ‫ﮐﺮده‬ ‫ﻋﻤﻞ‬ ‫دﺳﮑﺘﺎپ‬
!‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ :‫اﺳﺖ‬ ‫دارﯾﺪ‬ ‫دﺳﺖ‬ ‫در‬ ‫اﮐﻨﻮن‬ ‫ﻫﻢ‬ ‫ﮐﻪ‬ ‫اي‬ ‫ﺟﺰوه‬ ‫ﻣﻮﺿﻮع‬ ‫ﻟﻄﻒ‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬ ‫اﯾﻦ‬ ‫ﻫﻤﻪ‬ ‫و‬ .‫ﺑﺪﻫﻨﺪ‬ ‫ﭘﺎﺳﺦ‬ ‫ﮐﻠﯿﮏ‬ ‫ﻫﻤﭽﻮن‬ ‫ﺻﻔﺤﻪ‬
‫ﺻﻔﺤﺎت‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫آن‬ ‫ﮐﻤﮏ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫زﺑﺎﻧﯽ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬HTML‫اﻧﯿﻤ‬ ‫از‬ ‫ﻟﺒﺮﯾﺰ‬ ‫را‬ ‫ﺧﻮد‬‫ﯿﺸ‬‫ﺑﺼ‬ ‫ﻫﺎي‬ ‫ﺟﻠﻮه‬ ،‫ﻫﺎ‬ ‫ﻦ‬‫وﯾﮋﮔﯽ‬ ‫و‬ ‫ﺮي‬
‫ﻫﺎﺳﺖ‬ ‫آن‬ ‫ﺑﺎ‬ ‫ﺗﻌﺎﻣﻞ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮐﺎرﺑﺮي‬ ‫ﻋﻤﻠﯿﺎت‬ ‫ﺑﻪ‬ ‫ﺑﺘﻮاﻧﺪ‬ ‫ﺷﻤﺎ‬ ‫وب‬ ‫ﺻﻔﺤﻪ‬ ‫ﺗﺎ‬ ‫آورد‬ ‫ﻣﯽ‬ ‫ﻓﺮاﻫﻢ‬ ‫را‬ ‫اﻣﮑﺎﻧﺎﺗﯽ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ .‫ﮐﻨﯿﺪ‬ ‫ﺗﻌﺎﻣﻠﯽ‬ ‫ﻫﺎي‬
.‫ﺻﻔﺤﻪ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﻣﺎوس‬ ‫ﻧﺸﺎﻧﮕﺮ‬ ‫ﺣﺮﮐﺖ‬ ‫و‬ ‫ﻓﺮم‬ ‫ﯾﮏ‬ ‫ﮐﺮدن‬ ‫ﭘﺮ‬ ،‫ﻟﯿﻨﮏ‬ ‫ﯾﮏ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﮐﻠﯿﮏ‬ ‫ﻣﺎﻧﻨﺪ‬ .‫ﺑﺪﻫﺪ‬ ‫ﭘﺎﺳﺦ‬ ‫ﻓﻮرا‬
‫ﺑﻪ‬ ‫ﺗﻮاﻧﺴﺖ‬ ‫ﺧﻮاﻫﯿﺪ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫ﮐﻤﮏ‬ ‫ﺑﻪ‬‫اﺟﺰا‬‫ﻣ‬‫ﻫﺎ‬ ‫آن‬ ‫در‬ ‫ﺗﻐﯿﯿﺮاﺗﯽ‬ ‫ﺑﻪ‬ ‫دﺳﺖ‬ ‫ﻧﯿﺎز‬ ‫ﺻﻮرت‬ ‫در‬ ‫ﺣﺘﯽ‬ ‫و‬ ‫داﺷﺘﻪ‬ ‫دﺳﺘﺮﺳﯽ‬ ‫ﺻﻔﺤﻪ‬ ‫در‬ ‫ﻮﺟﻮد‬
‫ﺧﻮد‬ ‫ﻣﯿﻞ‬ ‫ﻣﻄﺎﺑﻖ‬‫ﺑﺰﻧﯿﺪ‬.
‫ﻫﻤﭽﻮن‬ ‫ﻫﺎﯾﯽ‬ ‫ﺗﮑﻨﻮﻟﻮژي‬ ‫از‬ ‫اﻓﺰون‬ ‫روز‬ ‫اﺳﺘﻔﺎده‬Ajax‫و‬jQuery‫را‬ ‫ﻫﺎ‬ ‫آن‬ ‫اﺻﻠﯽ‬ ‫ﻫﺴﺘﻪ‬ ‫ﮐﻪ‬ ‫وب‬ ‫ﺻﻔﺤﺎت‬ ‫ﻃﺮاﺣﯽ‬ ‫در‬Javascript
‫ﮐﻪ‬ ‫ﻫﺮﮐﺲ‬ ‫ﺑﺮاي‬ ‫ﻗﺪرﺗﻤﻨﺪ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫ﯾﺎدﮔﯿﺮي‬ ‫اﻫﻤﯿﺖ‬ ‫ﺑﻪ‬ ‫دﻫﺪ‬ ‫ﻣﯽ‬ ‫ﺗﺸﮑﯿﻞ‬‫در‬ ‫دﺳﺘﯽ‬‫ﺗﻮﺳﻌﻪ‬‫اﺳﺖ‬ ‫اﻓﺰوده‬ ‫دارد‬ ‫وب‬.
‫اﻃﻼﻋﺎت‬ ‫ﻓﻨﺎوري‬ ‫ﻣﻬﻨﺪﺳﯽ‬ ‫ﻋﻠﻤﯽ‬ ‫اﻧﺠﻤﻦ‬ ‫ﻫﻤﺖ‬ ‫ﺑﻪ‬ ‫وب‬ ‫ﻃﺮاﺣﯽ‬ ‫آﻣﻮزﺷﯽ‬ ‫ﻫﺎي‬ ‫دوره‬ ‫ﺑﺮﮔﺰاري‬ ‫راﺳﺘﺎي‬ ‫در‬ ‫ﮐﻪ‬ ‫رو‬ ‫ﭘﯿﺶ‬ ‫ﺟﺰوه‬
‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫ﻫﺎي‬ ‫وﯾﮋﮔﯽ‬ ‫از‬ ‫ﺑﺴﯿﺎري‬ ‫ﺑﺎ‬ ‫را‬ ‫ﺷﻤﺎ‬ ‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻬﯿﻪ‬ ‫ﺑﯿﺪﮔﻞ‬ ‫و‬ ‫آران‬ ‫ﻣﺮﮐﺰ‬ ‫ﻧﻮر‬ ‫ﭘﯿﺎم‬ ‫داﻧﺸﮕﺎه‬‫ﮐﺎرﺑﺮدي‬ ‫و‬ ‫ﻣﺤﺒﻮب‬‫ﺧﻮاﻫﺪ‬ ‫آﺷﻨﺎ‬
.‫ﮐﺮد‬
‫ﯾﻌﻨﯽ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫آﻣﻮزﺷﯽ‬ ‫ﮐﺘﺐ‬ ‫ﺗﺮﯾﻦ‬ ‫ﺟﺎﻣﻊ‬ ‫و‬ ‫ﻣﺸﻬﻮرﺗﺮﯾﻦ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫روي‬ ‫از‬ ‫ﺟﺰوه‬ ‫اﯾﻦ‬Professional Javascript for Web
Developers‫ﻧﻮﺷﺘﻪ‬Nicholas C.Zakas.‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﺮﺟﻤﻪ‬ ‫و‬ ‫ﺗﺎﻟﯿﻒ‬ ‫ﺷﺨﺼﯽ‬ ‫ﺗﺠﺮﺑﯿﺎت‬ ‫و‬ (‫زاﮐﺎس‬ ‫ﺳﯽ‬ ‫)ﻧﯿﮑﻼس‬
‫ﻫﺪف‬ ‫و‬ ‫ﻧﺒﻮده‬ ‫اﯾﻨﺠﺎﻧﺐ‬ ‫ﺗﺨﺼﺺ‬ ،‫ﺗﺮﺟﻤﻪ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﺿﺮوري‬ ‫ﻧﯿﺰ‬ ‫ﻧﮑﺘﻪ‬ ‫اﯾﻦ‬ ‫ذﮐﺮ‬‫ﺷﻤﺎﺳﺖ‬ ‫دﺳﺘﺎن‬ ‫در‬ ‫اﮐﻨﻮن‬ ‫ﻫﻢ‬ ‫ﮐﻪ‬ ‫اي‬ ‫ﺟﺰوه‬ ‫ﺗﻬﯿﻪ‬ ‫از‬
‫ﭼﯿﺰي‬ ‫ﻫﻢ‬‫ﺟﺰ‬‫ﺷﺮﯾﻒ‬ ‫ﺣﺪﯾﺚ‬ ‫ﺑﻪ‬ ‫ﭘﻮﺷﺎﻧﺪن‬ ‫ﻋﻤﻞ‬ ‫ﺟﺎﻣﻪ‬»‫ه‬ُ‫ﺮ‬ْ‫ﺸ‬َ‫ﻧ‬ ِ‫ﻢ‬ْ‫ﻠ‬‫ﻌ‬ْ‫ﻟ‬‫ا‬ ُ‫ة‬‫َﺎ‬‫ﮐ‬‫ز‬«.‫اﺳﺖ‬ ‫ﻧﺒﻮده‬‫و‬ ‫اﺷﮑﺎل‬ ‫از‬ ‫ﺧﺎﻟﯽ‬ ‫ﻧﯿﺰ‬ ‫ﺟﺰوه‬ ‫اﯾﻦ‬ ‫رو‬ ‫اﯾﻦ‬ ‫از‬
‫ﻣﯽ‬ ‫ﺗﻘﺎﺿﺎ‬ ‫ﺧﻮاﻧﻨﺪﮔﺎن‬ ‫ﺗﻤﺎﻣﯽ‬ ‫از‬ ‫ﻟﺬا‬ .‫ﻧﯿﺴﺖ‬ ‫اﺷﺘﺒﺎه‬‫اﻧﺘﻘﺎدات‬ ،‫ﻧﻈﺮات‬ ‫ﺑﯿﺎن‬ ‫و‬ ‫اﺷﮑﺎل‬ ‫ﮔﺰارش‬ ‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬ ‫ﺷﻮد‬‫اﯾﻤﯿﻞ‬ ‫ﺑﺎ‬ ‫ﺧﻮد‬ ‫ﭘﯿﺸﻨﻬﺎدات‬ ‫و‬
‫آدرس‬ ‫ﺑﻪ‬ ‫اﯾﻨﺠﺎﻧﺐ‬ahmadbadpey@gmail.com.‫ﻓﺮﻣﺎﯾﻨﺪ‬ ‫ﻣﮑﺎﺗﺒﻪ‬
‫اﻟﺨﺼﻮص‬ ‫ﻋﻠﯽ‬ ‫دوﺳﺘﺎﻧﻢ‬ ‫ﺗﻤﺎﻣﯽ‬ ‫از‬ ‫ﭘﺎﯾﺎن‬ ‫در‬‫ﺑﯿـﺪي‬ ‫ﺣﺴﯿﻦ‬‫آراﯾﯽ‬ ‫ﺻﻔﺤﻪ‬ ‫و‬ ‫وﯾﺮاﯾﺶ‬ ‫ﺧﺎﻃﺮ‬ ‫ﺑﻪ‬‫ﻫﻤﭽﻨﯿﻦ‬ ‫و‬‫ﺟﻠﺪ‬ ‫روي‬ ‫ﻃﺮح‬ ‫ﻃﺮاﺣﯽ‬،
‫ﺗﻤﺎﻣﯽ‬‫اﻧﺠﻤﻦ‬ ‫ﻣﺤﺘﺮم‬ ‫اﻋﻀﺎي‬‫اﻃﻼﻋﺎت‬ ‫ﻓﻨﺎوري‬ ‫ﻣﻬﻨﺪﺳﯽ‬ ‫ﻋﻠﻤﯽ‬‫ﻣﺮﮐﺰ‬ ‫ﻧﻮر‬ ‫ﭘﯿﺎم‬ ‫داﻧﺸﮕﺎه‬‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫دوﺳﺘﺎﻧﯽ‬ ‫ﺗﻤﺎﻣﯽ‬ ‫و‬ ‫ﺑﯿﺪﮔﻞ‬ ‫و‬ ‫آران‬
‫اﯾﻦ‬ ‫ﺗﻬﯿﻪ‬ ‫ﺑﺮاي‬ ‫اﻧﮕﯿﺰه‬ ‫و‬ ‫دﻟﮕﺮﻣﯽ‬ ‫ﻣﻮﺟﺒﺎت‬ ‫ﺷﺪه‬ ‫ﺑﺮﮔﺰار‬ ‫آﻣﻮزﺷﯽ‬ ‫ﻫﺎي‬ ‫دوره‬ ‫در‬ ‫ﺧﻮد‬ ‫ﮔﺮم‬ ‫ﺣﻀﻮر‬ ‫و‬ ‫ﺑﻨﺪه‬ ‫ﺑﻪ‬ ‫اﻋﺘﻤﺎد‬‫ﺟﺰوه‬‫ﻓﺮاﻫﻢ‬ ‫را‬
‫ﻣﯽ‬ ‫ﺗﺸﮑﺮ‬ ‫ﺻﻤﯿﻤﺎﻧﻪ‬ ‫و‬ ‫ﺻﺎدﻗﺎﻧﻪ‬ ‫آوردﻧﺪ‬.‫ﮐﻨﻢ‬
‫ﺑﺎدﭘﯽ‬ ‫اﺣﻤﺪ‬-‫ﻓﺮوردﯾﻦ‬1391
:‫ﻓﺮﻣﺎﯾﻨﺪ‬ ‫ﻣﯽ‬ (‫اﻟﺴﻼم‬ ‫ﻋﻠﯽ)ﻋﻠﯿﻪ‬ ،‫ﻣﺘﻘﯿﺎن‬ ‫ﻣﻮﻻي‬
‫ﻢ‬ْ‫ﻠ‬‫ﻌ‬ْ‫ﻟ‬‫ا‬ ‫ﻪ‬‫ﯿ‬َ‫ﻠ‬‫ﻋ‬ َ‫ﺮ‬َ‫ﻈ‬‫ﺣ‬ ً‫ا‬‫ﺪ‬‫ﺒ‬‫ﻋ‬ ‫ﻪ‬‫ﱠ‬‫ﻠ‬‫اﻟ‬ َ‫ل‬َ‫ذ‬‫ر‬َ‫أ‬ ‫َا‬‫ذ‬ِ‫إ‬
‫ا‬‫ﺪ‬ ‫ﮔﺎه‬‫ﺪ‬ ‫و‬‫ﻢ‬‫ﻋ‬‫از‬‫ا‬‫ر‬‫او‬،‫ﺪ‬ ‫ﺳﺎ‬ ‫ا‬‫رذ‬ ‫ا‬‫ر‬‫ای‬‫ﻨﺪه‬ ‫ﺪ‬ ‫ا‬‫ﻮ‬‫و‬‫ﺶ‬‫ا‬‫د‬‫و‬‫ﺳﺎزد‬‫ﯽ‬ ‫وم‬ ‫ﻦ‬ ‫ﯾﺎد‬.
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
III
‫ﺖ‬
‫ﭘ‬‫ﯿ‬‫ﺸﮕﻔﺘﺎر‬.......................................................................................................................................I
‫ﻓﺼﻞ‬1:‫آﺷﻨﺎ‬‫ﯾﯽ‬‫ﺑﺎ‬‫ﻣﻔﺎﻫ‬‫ﯿ‬‫ﻢ‬‫و‬‫اﺻﻄﻼﺣﺎت‬........................................................1
‫اﻧﻮاع‬‫زﺑﺎن‬‫ﻫﺎ‬‫ي‬‫ﺑﺮﻧﺎﻣﻪ‬‫ﻧﻮ‬‫ﯾ‬‫ﺴ‬‫ﯽ‬‫ﺗﺤﺖ‬‫وب‬.........................................................................................2
‫ﺗﻔﺎوت‬‫ﻫﺎ‬‫ي‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫و‬‫ﺟﺎوا‬....................................................................................................3
‫اﺟﺰا‬‫ﺗﺸﮑ‬‫ﯿ‬‫ﻞ‬‫دﻫﻨﺪه‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬..................................................................................................4
DOM‫؛‬‫ﻣﺪل‬‫ﺷ‬‫ﯽ‬‫ﮔﺮا‬‫ي‬‫ﺳﻨﺪ‬.................................................................................................................................4
BOM‫؛‬‫ﻣﺪل‬‫ﺷ‬‫ﯽ‬‫ﮔﺮا‬‫ي‬‫ﻣﺮورﮔﺮ‬.............................................................................................................................4
‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ي‬‫ﺑﻨ‬‫ﯿ‬‫ﺎد‬‫ي‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬..................................................................................................4
‫ﻓﺼﻞ‬2:‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫واﻧﻮاع‬‫داده‬‫ﻫﺎ‬.................................................................7
‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬‫در‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬...............................................................................................................8
‫ﻧﺎﻣﮕﺬا‬‫ر‬‫ي‬‫ﻣﺘﻐ‬‫ﯿ‬‫ﺮﻫﺎ‬..........................................................................................................................8
‫ﮐﻠﻤﺎت‬‫ﮐﻠ‬‫ﯿ‬‫ﺪ‬‫ي‬..............................................................................................................................10
‫ﮐﻠﻤﺎت‬‫رزرو‬‫ﺷﺪه‬.........................................................................................................................10
‫اﻧﻮاع‬‫داده‬‫ﻫﺎ‬‫ي‬‫اﺻﻠ‬‫ﯽ‬...................................................................................................................10
‫ﻧﻮع‬‫داده‬Undefind.............................................................................................................................................11
‫ﻧﻮع‬‫داده‬Null.....................................................................................................................................................11
‫ﻧﻮع‬‫داده‬Boolean..............................................................................................................................................12
‫ﻧﻮع‬‫داده‬Number...............................................................................................................................................12
‫ﻧﻮع‬‫داده‬String..................................................................................................................................................12
‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫اﻧﻮاع‬.................................................................................................................................12
‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫ﺑﻪ‬‫رﺷﺘﻪ‬...................................................................................................................................................13
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
IV
‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫ﺑﻪ‬‫ﻋﺪد‬.....................................................................................................................................................13
‫اﺳﺘﻔﺎده‬‫از‬Type Casting‫ﺑﺮا‬‫ي‬‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫اﻧﻮاع‬........................................................................................................14
‫ﻓﺼﻞ‬3:‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫در‬‫ﻣﺮورﮔﺮﻫﺎ‬..........................................................17
‫ﻓﺎ‬‫ﯾ‬‫ﻞ‬‫ﻫﺎ‬‫ي‬‫ﺧﺎرﺟ‬‫ﯽ‬javascript........................................................................................................18
‫ﺗﻔﺎوت‬‫ﻫﺎ‬‫ي‬‫ﺑﻪ‬‫ﮐﺎرﮔ‬‫ﯿ‬‫ﺮ‬‫ي‬‫ﮐﺪﻫﺎ‬‫ﺑﻪ‬‫ﺻﻮرت‬‫درون‬‫ﺧﻄ‬‫ﯽ‬‫و‬‫ﺧﺎرﺟ‬‫ﯽ‬................................................................................19
‫ﻣﮑﺎن‬‫ﻗﺮار‬‫دادن‬‫ﺗﮓ‬<script>‫در‬‫ﺻﻔﺤﻪ‬........................................................................................20
‫ﻣﺨﻔ‬‫ﯽ‬‫ﮐﺮدن‬‫اﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﻫﺎ‬‫از‬‫ﻣﺮورﮔﺮﻫﺎ‬‫ي‬‫ﻗﺪ‬‫ﯾ‬‫ﻤ‬‫ﯽ‬...........................................................................21
‫ﺧﻄﺎ‬‫ﯾ‬‫ﺎﺑ‬‫ﯽ‬.....................................................................................................................................22
‫ﻓﺼﻞ‬4:‫ﮐﺎر‬‫ﺑﺎ‬‫آرا‬‫ﯾ‬‫ﻪ‬‫ﻫﺎ‬‫درﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬.....................................................25
‫ا‬‫ﯾ‬‫ﺠﺎد‬‫آرا‬‫ﯾ‬‫ﻪ‬‫ﻫﺎ‬‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬‫ﮐﻼس‬Array.......................................................................................26
‫ﺑﺪﺳﺖ‬‫آوردن‬‫ﻃﻮل‬‫آرا‬‫ﯾ‬‫ﻪ‬..............................................................................................................26
‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫آر‬‫ا‬‫ﯾ‬‫ﻪ‬‫ﺑﻪ‬‫رﺷﺘﻪ‬....................................................................................................................27
‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫رﺷﺘﻪ‬‫ﺑﻪ‬‫آرا‬‫ﯾ‬‫ﻪ‬....................................................................................................................27
‫اﺿﺎﻓﻪ‬‫ﮐﺮدن‬‫ﻣﻘﺎد‬‫ﯾ‬‫ﺮ‬‫ﺟﺪ‬‫ﯾ‬‫ﺪ‬‫ﺑﻪ‬‫آرا‬‫ﯾ‬‫ﻪ‬‫ﻫﺎ‬............................................................................................28
‫ﺑﺮﮔﺮداﻧﺪن‬‫ﻋﻨﺎﺻﺮ‬‫ﺧﺎﺻ‬‫ﯽ‬‫از‬‫آرا‬‫ﯾ‬‫ﻪ‬.................................................................................................28
‫ﺗﺒﺪ‬‫ﯾ‬‫ﻞ‬‫آرا‬‫ﯾ‬‫ﻪ‬‫ﻫﺎ‬‫ﺑﻪ‬‫ﭘﺸﺘﻪ‬‫و‬‫ﺻﻒ‬......................................................................................................28
‫ﻣﺮﺗﺐ‬‫ﺳﺎز‬‫ي‬‫آرا‬‫ﯾ‬‫ﻪ‬‫ﻫﺎ‬...................................................................................................................29
‫ﺣﺬف‬‫و‬‫درج‬‫در‬‫ﻣ‬‫ﯿ‬‫ﺎﻧﻪ‬‫ﻫﺎ‬‫ي‬‫آرا‬‫ﯾ‬‫ﻪ‬....................................................................................................31
‫ﻓﺼﻞ‬5:‫ﮐﺎر‬‫ﺑﺎ‬‫رﺷﺘﻪ‬‫ﻫﺎ‬‫درﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬....................................................33
‫ا‬‫ﯾ‬‫ﺠﺎد‬‫اﺷ‬‫ﯿ‬‫ﺎ‬‫رﺷﺘﻪ‬‫ا‬‫ي‬)‫رﺷﺘﻪ‬(‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬‫ﮐﻼس‬String.................................................................34
‫ﺑﺪﺳﺖ‬‫آوردن‬‫ﮐﺎراﮐﺘﺮ‬‫ﻣﻮﺟﻮد‬‫در‬‫ﯾ‬‫ﮏ‬‫ﻣﻮﻗﻌ‬‫ﯿ‬‫ﺖ‬‫ﺧﺎص‬.......................................................................34
‫اﻟﺤﺎق‬‫دو‬‫رﺷﺘﻪ‬............................................................................................................................34
‫ﻋﻤﻠﮕﺮ‬+‫ﺑﺮا‬‫ي‬‫اﻟﺤﺎق‬‫رﺷﺘﻪ‬‫ﻫﺎ‬............................................................................................................................34
‫ﺑﺪﺳﺖ‬‫آوردن‬‫ﻣﻮﻗﻌ‬‫ﯿ‬‫ﺖ‬‫ﯾ‬‫ﮏ‬‫ﮐﺎراﮐﺘﺮ‬‫ﺧﺎص‬‫در‬‫رﺷﺘﻪ‬.........................................................................35
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
V
‫ﻣﻘﺎ‬‫ﯾ‬‫ﺴﻪ‬‫رﺷﺘﻪ‬‫ﻫﺎ‬..........................................................................................................................35
‫ﺟﺪا‬‫ﮐﺮدن‬‫ز‬‫ﯾ‬‫ﺮ‬‫ر‬‫ﺷﺘﻪ‬‫ا‬‫ي‬‫از‬‫رﺷﺘﻪ‬‫د‬‫ﯾ‬‫ﮕﺮ‬..........................................................................................36
toUpperCase()‫و‬()toLowerCase................................................................................................37
‫ﻓﺼﻞ‬6:‫اﺷ‬‫ﯿ‬‫ﺎ‬‫ي‬‫دروﻧ‬‫ﯽ‬)‫ﭘ‬‫ﯿ‬‫ﺶ‬‫ﺳﺎﺧﺘﻪ‬(........................................................39
‫ﺷ‬‫ﯽ‬Math..................................................................................................................................40
‫ﻣﺘﺪﻫﺎ‬‫ي‬.min()‫و‬.max()..................................................................................................................................40
‫د‬‫ﯾ‬‫ﮕﺮ‬‫ﺗﻮاﺑﻊ‬‫ﻣﻔ‬‫ﯿ‬‫ﺪ‬..........................................................................................................................41
‫ﮐﺎر‬‫ﺑﺎ‬‫ﺗﺎر‬‫ﯾ‬‫ﺦ‬‫و‬‫زﻣﺎن‬‫در‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬............................................................................................43
‫ﻓﺼﻞ‬7:BOM‫؛‬‫ﻣﺪل‬‫ﺷ‬‫ﯽ‬‫ﮔﺮا‬‫ي‬‫ﻣﺮورﮔﺮ‬......................................................45
ِBOM‫ﭼ‬‫ﯿ‬‫ﺴﺖ؟‬............................................................................................................................46
‫ﺷ‬‫ﯽ‬window...............................................................................................................................46
‫دﺳﺘﮑﺎر‬‫ي‬‫ﭘﻨﺠﺮه‬‫ﻫﺎ‬.....................................................................................................................46
‫ﭘ‬‫ﯿ‬‫ﻤﺎ‬‫ﯾ‬‫ﺶ‬‫و‬‫ﺑﺎز‬‫ﮐﺮدن‬‫ﭘﻨﺠﺮه‬‫ﻫﺎ‬‫ي‬‫ﺟﺪ‬‫ﯾ‬‫ﺪ‬..........................................................................................47
‫ﭘﻨﺠﺮه‬‫ﻫﺎ‬‫ي‬System Dialog.............................................................................................................48
‫ﺧﺎﺻ‬‫ﯿ‬‫ﺖ‬statusbar........................................................................................................................49
‫اﺟﺮا‬‫ي‬‫ﻣﮑﺮر‬‫ﮐﺪﻫﺎ‬‫از‬‫ﻃﺮ‬‫ﯾ‬‫ﻖ‬‫ﻣﺘﺪﻫﺎ‬‫ي‬Timeouts‫و‬Intervals............................................................49
‫ﺷ‬‫ﯽ‬history................................................................................................................................50
‫ﺷ‬‫ﯽ‬document............................................................................................................................51
‫ﺷ‬‫ﯽ‬location..............................................................................................................................52
‫ﺷ‬‫ﯽ‬navigator............................................................................................................................52
‫ﺷ‬‫ﯽ‬screen................................................................................................................................54
‫ﻓﺼﻞ‬8:DOM‫؛‬‫ﻣﺪل‬‫ﺷ‬‫ﯽ‬‫ﮔﺮا‬‫ي‬‫ﺳﻨﺪ‬.........................................................55
DOM‫ﭼ‬‫ﯿ‬‫ﺴﺖ؟‬............................................................................................................................56
‫اﺳﺘﻔﺎده‬‫از‬DOM.........................................................................................................................60
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
VI
‫دﺳﺘﺮﺳ‬‫ﯽ‬‫ﺑﻪ‬‫ﮔﺮه‬‫ﻫﺎ‬............................................................................................................................................60
‫دﺳﺘﺮﺳ‬‫ﯽ‬‫ﺑﻪ‬‫ﺻﻔﺎت‬‫ﻋﻨﺎﺻﺮ‬...................................................................................................................................61
‫دﺳﺘﺮﺳ‬‫ﯽ‬‫ﺑﻪ‬‫ﮔﺮه‬‫ﻫﺎ‬‫ي‬‫ﺧﺎص‬.................................................................................................................................61
getElementsByTagName().............................................................................................................................61
getElementsByName()..................................................................................................................................62
getElementById()..........................................................................................................................................62
‫ا‬‫ﯾ‬‫ﺠﺎد‬‫و‬‫دﺳﺘﮑﺎر‬‫ي‬‫ﮔﺮه‬‫ﻫﺎ‬.............................................................................................................63
‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ﮔﺮه‬‫ﻫﺎ‬‫ي‬‫ﺟﺪ‬‫ﯾ‬‫ﺪ‬.........................................................................................................................................63
appendChild()،createTextNode()‫و‬createElement()............................................................................................................64
removeChild()،replaceChild()‫و‬insertBefore()...........................................................................................65
createDocumentFragment()..........................................................................................................................65
‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫ي‬‫ﻣﻨﺤﺼﺮ‬‫ﺑﻪ‬‫ﻓﺮد‬DOM‫ﺑﺮا‬‫ي‬HTML...............................................................................66
‫دﺳﺘﮑﺎر‬‫ي‬‫ﻗﻮاﻋﺪ‬‫ﺳﺒﮏ‬‫ﻋﻨﺎﺻﺮ‬......................................................................................................67
‫ﻣﺘﺪﻫﺎ‬‫ي‬‫ﻣﺮﺑﻮﻃﻪ‬‫ﺑﻪ‬‫ﺟﺪاول‬............................................................................................................67
‫ﻣﺘﺪ‬‫ﻫﺎ‬‫و‬‫ﺧﺎﺻ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬‫ي‬tbody............................................................................................................................69
‫ﻣﺘﺪ‬‫ﻫﺎ‬‫و‬‫ﺧﺎﺻ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬‫ي‬tr...................................................................................................................................69
‫ﻓﺼﻞ‬9:‫ﮐﺎر‬‫ﺑﺎ‬‫ﻓﺮﻣﻬﺎ‬‫و‬‫ﻋﻨﺎﺻﺮ‬‫ﻓﺮم‬.............................................................71
‫ﻧﻮﺷﺘﻦ‬‫اﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﻫﺎ‬‫ﺑﺮا‬‫ي‬‫دﺳﺘﺮﺳ‬‫ﯽ‬‫ﺑﻪ‬‫ﻋﻨﺎﺻﺮ‬‫ﻓﺮم‬........................................................................72
‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ارﺟﺎع‬‫ﺑﻪ‬‫ﻋﻨﺎﺻﺮ‬‫ﻣﻮرد‬‫ﻧﻈﺮ‬...........................................................................................................................72
‫دﺳﺘﺮﺳ‬‫ﯽ‬‫ﺑﻪ‬‫ﻋﻨﺎﺻﺮ‬‫داﺧﻞ‬‫ﯾ‬‫ﮏ‬‫ﻓﺮم‬...............................................................................................72
‫و‬‫ﯾ‬‫ﮋﮔ‬‫ﯽ‬‫ﻫﺎ‬‫و‬‫ﺧﺎﺻ‬‫ﯿ‬‫ﺖ‬‫ﻫﺎ‬‫ي‬‫ﻋﻨﺎﺻﺮ‬form...............................................................................................................73
‫ارﺳﺎل‬‫ﻓﺮم‬‫ﺑﻮﺳ‬‫ﯿ‬‫ﻠﻪ‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬......................................................................................................................74
‫ارﺳﺎل‬form‫ﻓﻘﻂ‬‫ﯾ‬‫ﮑﺒﺎر‬!....................................................................................................................................................................................75
‫ﮐﺎر‬‫ﺑﺎ‬‫ﮐﺎدرﻫﺎ‬‫ي‬‫ﻣﺘﻨ‬‫ﯽ‬....................................................................................................................75
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
VII
‫ﺑﺎز‬‫ﯾ‬‫ﺎﺑ‬‫ﯽ‬‫و‬‫ﺗﻐ‬‫ﯿﯿ‬‫ﺮ‬‫ﻣﻘﺪار‬‫ﯾ‬‫ﮏ‬textbox...................................................................................................................76
‫اﻧﺘﺨﺎب‬‫ﻣﺘﻦ‬‫ﻫﺎ‬‫ي‬‫داﺧﻞ‬‫ﮐﺎدرﻫﺎ‬‫ي‬‫ﻣﺘﻨ‬‫ﯽ‬.............................................................................................................76
‫رو‬‫ﯾ‬‫ﺪاد‬‫ﻫﺎ‬‫ي‬‫ﮐﺎدرﻫﺎ‬‫ي‬‫ﻣﺘﻨ‬‫ﯽ‬................................................................................................................................76
‫اﻧﺘﺨﺎب‬‫ﺧﻮدﮐﺎر‬‫ﻣﺘﻦ‬‫درون‬‫ﮐﺎدرﻫﺎ‬‫ي‬‫ﻣﺘﻨ‬‫ﯽ‬..........................................................................................................77
‫ﭼﺮﺧﺶ‬Tab‫ﺑ‬‫ﯿ‬‫ﻦ‬‫ﻋﻨﺎﺻﺮ‬‫ﻓﺮم‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﺧﻮدﮐﺎر‬......................................................................................................................................77
‫ﻣﺤﺪود‬‫ﮐﺮدن‬‫ﮐﺎراﮐﺘﺮ‬‫ﻫﺎ‬‫ي‬‫ورود‬‫ي‬‫در‬‫ﯾ‬‫ﮏ‬textarea........................................................................78
‫ﮐﺎر‬‫ﺑﺎ‬listbox‫ﻫﺎ‬‫و‬combobox‫ﻫﺎ‬..................................................................................................79
‫ﺑﺎز‬‫ﯾ‬‫ﺎﺑ‬‫ﯽ‬/‫ﺗﻐ‬‫ﯿﯿ‬‫ﺮ‬‫دادن‬option)‫ﻫﺎ‬(‫ي‬‫اﻧﺘﺨﺎب‬‫ﺷﺪه‬...................................................................................................80
‫اﺿﺎﻓﻪ‬‫ﮐﺮدن‬option‫ﻫﺎ‬......................................................................................................................................81
‫ﺣﺬف‬option‫ﻫﺎ‬................................................................................................................................................81
‫ﻓﺼﻞ‬10:‫رو‬‫ﯾ‬‫ﺪادﻫﺎ‬‫در‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬........................................................83
‫ﮐﻨﺘﺮل‬‫رو‬‫ﯾ‬‫ﺪادﻫﺎ‬...........................................................................................................................84
‫اﻧﻮاع‬‫رو‬‫ﯾ‬‫ﺪاد‬‫ﻫﺎ‬............................................................................................................................84
‫رو‬‫ﯾ‬‫ﺪادﻫﺎ‬‫ي‬mouse............................................................................................................................................84
‫ﺗﺮﺗ‬‫ﯿ‬‫ﺐ‬‫اﺟﺮا‬‫ﯾﯽ‬‫رو‬‫ﯾ‬‫ﺪادﻫﺎ‬.....................................................................................................................................................................................85
‫رو‬‫ﯾ‬‫ﺪادﻫﺎ‬‫ي‬‫ﺻﻔﺤﻪ‬‫ﮐﻠ‬‫ﯿ‬‫ﺪ‬......................................................................................................................................85
‫ﺗﺮﺗ‬‫ﯿ‬‫ﺐ‬‫اﺟﺮا‬‫ﯾﯽ‬‫رو‬‫ﯾ‬‫ﺪاد‬‫ﻫﺎ‬‫ي‬‫ﺻﻔﺤﻪ‬‫ﮐﻠ‬‫ﯿ‬‫ﺪ‬........................................................................................................................................................86
‫د‬‫ﯾ‬‫ﮕﺮ‬‫رو‬‫ﯾ‬‫ﺪاد‬‫ﻫﺎ‬..................................................................................................................................................86
‫ﺷ‬‫ﯽ‬event..................................................................................................................................87
‫ﺧﻮاص‬‫و‬‫ﻣﺘﺪﻫﺎ‬‫ي‬‫ﺷ‬‫ﯽ‬event.............................................................................................................................88
‫ﻓﺼﻞ‬11:‫ﮐﺎر‬‫ﺑﺎ‬‫ﮐﻮﮐ‬‫ﯽ‬‫ﻫﺎ‬.........................................................................89
‫ا‬‫ﯾ‬‫ﺠﺎد‬‫ﮐﻮﮐ‬‫ﯽ‬‫ﻫﺎ‬............................................................................................................................90
‫ﺣﺬف‬‫ﮐﻮﮐ‬‫ﯽ‬‫ﻫﺎ‬............................................................................................................................91
‫ﺑﺎز‬‫ﯾ‬‫ﺎﺑ‬‫ﯽ‬‫ﮐﻮﮐ‬‫ﯽ‬‫ﻫﺎ‬..........................................................................................................................91
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫در‬ .‫دارد‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫راﯾﺞ‬ ‫اﺻﻄﻼﺣﺎت‬ ‫و‬ ‫ﻣﻔﺎﻫﯿﻢ‬ ‫ﺑﺮرﺳﯽ‬ ‫ﺑﻪ‬ ‫اﺧﺘﺼﺎص‬ ‫ﻓﺼﻞ‬ ‫اﯾﻦ‬‫ﺑﻪ‬ ‫اﺑﺘﺪا‬ ‫ﻓﺼﻞ‬ ‫اﯾﻦ‬‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫اﻧﻮاع‬
‫در‬ .‫داد‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫ﺷﺮح‬ ‫را‬ ‫ﺟﺎوا‬ ‫و‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫اﺻﻠﯽ‬ ‫ﻫﺎي‬ ‫ﺗﻔﺎوت‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﭘﺮداﺧﺖ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫وب‬ ‫ﺗﺤﺖ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬
.‫ﺷﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫آﺷﻨﺎ‬ ‫ﻫﺎ‬ ‫آن‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫ﮐﺎرﺑﺮدﻫﺎي‬ ‫ﺑﺎ‬ ‫و‬ ‫ﭘﺮداﺧﺘﻪ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫دﻫﻨﺪه‬ ‫ﺗﺸﮑﯿﻞ‬ ‫ﻫﺎي‬ ‫ﻫﺴﺘﻪ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺰ‬ ‫اداﻣﻪ‬
‫اﺻﻄﻼﺣﺎت‬‫و‬‫ﻣﻔﺎﻫﯿﻢ‬‫ﺑﺎ‬‫آﺷﻨﺎﯾﯽ‬
‫ﯾﮏ‬ ‫ﻓﺼﻞ‬
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫اﺻﻄﻼﺣﺎت‬ ‫و‬ ‫ﻣﻔﺎﻫﯿﻢ‬ ‫ﺑﺎ‬ ‫آﺷﻨﺎﯾﯽ‬
2
1
‫ﺑﺮﻧ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫اﻧﻮاع‬‫وب‬ ‫ﺗﺤﺖ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺎﻣﻪ‬
‫ﻫﺎي‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫داﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫ﻫﻤﺎﻧﻄﻮر‬‫ﻣﻮﺟﻮد‬‫اﯾﻨﺘﺮﻧﺖ‬ ‫ﺷﺒﮑﻪ‬ ‫در‬‫ﮐﻨﻨﺪ‬ ‫ﻣﯽ‬ ‫ﺗﻘﺴﯿﻢ‬ ‫اﺻﻠﯽ‬ ‫دﺳﺘﻪ‬ ‫دو‬ ‫ﺑﻪ‬ ‫را‬.‫ﮐﺎرﺑﺮ‬ ‫ﻫﺎي‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬1
‫و‬
‫ﻫﺎي‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬‫ﺳﺮور‬2
.‫ﮐﺎرﺑﺮ‬ ‫ﺗﺤﺖ‬ ‫دﺳﺘﻪ‬ ‫دو‬ ‫ﺑﻪ‬ ‫ﻧﯿﺰ‬ ‫وب‬ ‫ﺗﺤﺖ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬3
‫ﺳﺮور‬ ‫ﺗﺤﺖ‬ ‫و‬4
‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﻨﺪي‬ ‫ﺗﻘﺴﯿﻢ‬.
‫ﮐﺎرﺑﺮ‬ ‫ﺗﺤﺖ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬‫روي‬ ‫ﺑﺮ‬ ‫ﻓﻘﻂ‬ ‫و‬ ‫ﻣﺮورﮔﺮ‬ ‫ﺑﻮﺳﯿﻠﻪ‬ ‫ﮐﻪ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻫﺎﯾﯽ‬ ‫زﺑﺎن‬‫ﻣﺸﺘﺮي‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎي‬‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫اﺟﺮا‬.‫ﺑﺮاي‬ ‫واﻗﻊ‬ ‫در‬
‫ﺳﺮور‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫ﮔﻮﻧﻪ‬ ‫اﯾﻦ‬ ‫اﺟﺮاي‬‫ﻫﺎ‬‫ﻧﯿﺴﺖ‬ ‫ﻧﯿﺎزي‬.‫ﻫﻤﭽﻮن‬ ‫ﻫﺎﯾﯽ‬ ‫زﺑﺎن‬HTML،CSS‫و‬JAVASCRIPT‫دﺳﺖ‬ ‫اﯾﻦ‬ ‫از‬
‫ﻫﺴﺘﻨﺪ‬.‫ﺳ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮاي‬ ‫ﺗﻨﻬﺎﯾﯽ‬ ‫ﺑﻪ‬ ‫ﻣﻌﻤﻮﻻ‬ ‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫از‬‫ﻫﺎ‬ ‫آن‬ ‫ﺑﻪ‬ ‫اﺻﻄﻼﺣﺎ‬ ‫ﮐﻪ‬ ‫ﺛﺎﺑﺖ‬ ‫ﻣﺤﺘﻮاي‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬ ‫ﺎﯾﺖ‬‫ﻫﺎي‬ ‫ﺳﺎﯾﺖ‬‫اﯾﺴﺘ‬‫ﺎ‬5
‫ﻣﯽ‬
‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮔﻮﯾﻨﺪ‬.
‫ﺑﺮ‬ ‫ﺣﺘﻤﺎ‬ ‫اﺟﺮا‬ ‫ﺑﺮاي‬ ‫ﺑﺎﯾﺴﺖ‬ ‫ﻣﯽ‬ ‫و‬ ‫داﺷﺘﻪ‬ ‫ﻫﺎ‬ ‫ﺳﺮور‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎز‬ ‫اﺟﺮا‬ ‫ﺑﺮاي‬ ‫ﮐﻪ‬ ‫دارﻧﺪ‬ ‫وﺟﻮد‬ ‫ﺳﺮور‬ ‫ﺗﺤﺖ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ، ‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬
‫ﺑﮕﯿﺮﻧﺪ‬ ‫ﻗﺮار‬ ‫ﻫﺎ‬ ‫ﺳﺮور‬ ‫روي‬.‫اﻣﮑﺎن‬ ‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫اﯾﻨﮕﻮﻧﻪ‬‫ﺑﺮﻗﺮاري‬‫داده‬ ‫ﭘﺎﯾﮕﺎه‬ ‫ﺑﺎ‬ ‫ارﺗﺒﺎط‬6
‫ﻫﺎ‬ ‫زﺑﺎن‬ .‫دارﻧﺪ‬ ‫را‬‫ﻫﻤﭽﻮن‬ ‫ﯾﯽ‬PHP،ASP‫و‬
JSP‫ﻫﺴﺘﻨﺪ‬ ‫دﺳﺖ‬ ‫اﯾﻦ‬ ‫از‬.‫ﻣﺤﺘﻮا‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬ ‫ﺳﺎﯾﺖ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮاي‬ ‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫از‬‫ي‬‫ﻫﺎ‬ ‫آن‬ ‫ﺑﻪ‬ ‫اﺻﻄﻼﺣﺎ‬ ‫ﮐﻪ‬ ‫ﭘﻮﯾﺎ‬‫ﻫﺎي‬ ‫ﺳﺎﯾﺖ‬‫ﭘﻮﯾﺎ‬7
‫ﮔﻔﺘﻪ‬
‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬.
‫زﺑﺎن‬JavaScript‫زﺑﺎن‬ ‫از‬ ‫ﯾﮑﯽ‬‫ﻫﺎي‬‫ﺳﺎل‬ ‫در‬ ‫ﺑﺎر‬ ‫اوﻟﯿﻦ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ .‫ﺑﺎﺷﺪ‬ ‫ﮐﺎرﺑﺮﻣﯽ‬ ‫ﺗﺤﺖ‬ ‫و‬ ‫وب‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻣﻬﻢ‬١٩٩۵‫اراﺋﻪ‬
.‫ﺑﻮد‬ ‫ﻓﺮم‬ ‫ﻋﻨﺎﺻﺮ‬ ‫ﺳﻨﺠﯽ‬ ‫ارزش‬ ‫ﺗﻨﻬﺎ‬ ‫آن‬ ‫وﻇﯿﻔﻪ‬ ‫و‬ ‫ﺷﺪ‬
1
Client
2
Server
3
Client side
4
Server side
5
Static
6
Database
7
Dynamic
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫آﻣﻮزش‬‫ﮐﺎرﺑﺮدي‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬–‫اﺣﻤﺪ‬‫ﺑﺎدﭘﯽ‬
3
1
‫ﺟﺎوا‬ ‫و‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﻫﺎي‬ ‫ﺗﻔﺎوت‬
‫ﺗﺎزه‬ ‫دﻫﻨﺪﮔﺎن‬ ‫ﺗﻮﺳﻌﻪ‬ ‫از‬ ‫ﺑﺴﯿﺎري‬ ‫ﻫﺎي‬ ‫دﻏﺪﻏﻪ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫ﻫﻤﻮاره‬ ‫ﭼﯿﺴﺖ‬ ‫ﺟﺎوا‬ ‫و‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫ﺗﻔﺎوت‬ ‫ﮐﻪ‬ ‫ﺳﻮال‬ ‫اﯾﻦ‬‫وب‬ ‫ﮐﺎر‬
‫زﺑﺎن‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬ ‫آن‬ ‫دﺳﺘﻮرات‬ ‫و‬ ‫ﻧﺤﻮ‬ ‫ﺗﺸﺎﺑﻪ‬ ‫و‬ ‫زﺑﺎن‬ ‫دو‬ ‫اﯾﻦ‬ ‫اﺳﻤﯽ‬ ‫ﺗﺸﺎﺑﻪ‬ ‫از‬ ‫ﺻﺮﻓﻨﻈﺮ‬ ‫ﺑﺪاﻧﯿﺪ‬ ‫اﺳﺖ‬ ‫ﺟﺎﻟﺐ‬ .‫رود‬ ‫ﻣﯽ‬ ‫ﺷﻤﺎر‬ ‫ﺑﻪ‬C++‫ﺗﻔﺎوت‬ ،
:‫ﮐﻨﯿﻢ‬ ‫ﻣﯽ‬ ‫اﺷﺎره‬ ‫ﻫﺎ‬ ‫آن‬ ‫از‬ ‫ﺑﺮﺧﯽ‬ ‫ﺑﻪ‬ ‫اداﻣﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫دارد‬ ‫وﺟﻮد‬ ‫ﻫﺎ‬ ‫آن‬ ‫ﺑﯿﻦ‬ ‫ﺑﺴﯿﺎري‬ ‫ﻫﺎي‬
‫ﮐﺎﻣﻼ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫زﯾﺎن‬ ‫ﯾﮏ‬ ‫ﺟﺎوا‬‫ﺷﯽ‬)‫ﮔﺮا‬OOP
1
‫ﺑﺎر‬ ‫اوﻟﯿﻦ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ (‫ﺷﺮﮐﺖ‬ ‫ﺗﻮﺳﻂ‬Sun MicroSystem‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬
‫ﺑﻪ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﮐﻪ‬ ‫ﺣﺎﻟﯽ‬ ‫در‬ .‫ﺷﺪ‬ ‫اراﺋﻪ‬ ‫ﻋﺎﻣﻞ‬ ‫ﻫﺎي‬ ‫ﺳﯿﺴﺘﻢ‬ ‫اﻧﻮاع‬ ‫روي‬ ‫ﺑﺮ‬ ‫اﺟﺮا‬ ‫ﻗﺎﺑﻞ‬ ‫و‬ ‫ﻣﺴﺘﻘﻞ‬ ‫ﮐﺎرﺑﺮدي‬ ‫ﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺧﻠﻖ‬
‫ﺷﺒﻪ‬ ‫زﺑﺎن‬ ‫ﯾﮏ‬ ‫ﻋﻨﻮان‬‫ﺷﯽ‬)‫ﮔﺮا‬LOO
2
(‫ﺷﺮﮐﺖ‬ ‫ﺗﻮﺳﻂ‬ ‫ﺑﺎر‬ ‫اوﻟﯿﻦ‬ ‫ﮐﻪ‬NetScape،‫ﺷﺪ‬ ‫اراﺋﻪ‬‫ﺳﺎده‬ ‫ﻣﺘﻨﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫ﯾﮏ‬ ‫ﺗﻨﻬﺎ‬
‫اﺳﺘﻔﺎده‬ ‫ﻣﺴﺘﻘﻞ‬ ‫ﮐﺎﻣﻼ‬ ‫ﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﯾﺠﺎد‬ ‫ﺑﺮاي‬ ‫آن‬ ‫از‬ ‫ﺗﻮان‬ ‫ﻧﻤﯽ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫ﮐﺮد‬‫ﺻﻔﺤﺎت‬ ‫داﺧﻞ‬ ‫در‬ ‫ﺑﺎﯾﺴﺖ‬ ‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫ﺑﺮاي‬ ‫و‬
HTML.‫ﺷﻮﻧﺪ‬ ‫اﺟﺮا‬ ‫و‬ ‫ﺗﻔﺴﯿﺮ‬ ‫ﻣﺮورﮔﺮﻫﺎ‬ ‫ﺗﻮﺳﻂ‬ ‫و‬ ‫ﮔﺮﻓﺘﻪ‬ ‫ﻗﺮار‬‫ﺑﻮد‬ ‫وب‬ ‫ﺻﻔﺤﺎت‬ ‫در‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫اﺻﻠﯽ‬ ‫ﮐﺎرﺑﺮد‬ ‫واﻗﻊ‬ ‫در‬‫ه‬‫و‬
‫ﻗ‬ ‫اﻓﺰودن‬ ‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬ ‫ﺗﻨﻬﺎ‬ ‫آن‬ ‫از‬‫ﻧﯿﺰ‬ ‫ﻧﮑﺘﻪ‬ ‫اﯾﻦ‬ ‫ذﮐﺮ‬ ‫از‬ ‫ﻧﺒﺎﯾﺪ‬ ‫اﻟﺒﺘﻪ‬ .‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫وب‬ ‫ﺻﻔﺤﺎت‬ ‫ﺑﻪ‬ ‫ﺗﻌﺎﻣﻠﯽ‬ ‫ﻫﺎي‬ ‫ﺎﺑﻠﯿﺖ‬
‫ﻗﺎﻟﺐ‬ ‫در‬ ‫ﻧﯿﺰ‬ ‫ﺟﺎوا‬ ‫ﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﮐﺎرﺑﺮد‬ ‫اﻣﮑﺎن‬ ‫اﺧﯿﺮ‬ ‫ﻫﺎي‬ ‫ﺳﺎل‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮔﺬﺷﺖ‬Applet‫ﺻﻔﺤﺎت‬ ‫و‬ ‫ﻫﺎ‬JSP
3
‫ﻓﺮاﻫﻢ‬ ‫وب‬ ‫در‬
.‫اﺳﺖ‬ ‫ﺷﺪه‬
‫ﭘ‬ ‫اﺳﻤﺶ‬ ‫از‬ ‫ﮐﻪ‬ ‫ﻃﻮر‬ ‫ﻫﻤﺎن‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﮐﻪ‬ ‫ﺣﺎﻟﯽ‬ ‫در‬ ‫اﺳﺖ‬ ‫ﮐﺎﻣﭙﺎﯾﻠﯽ‬ ‫زﺑﺎن‬ ‫ﯾﮏ‬ ‫ﺟﺎوا‬‫زﺑﺎن‬ ‫ﯾﮏ‬ ‫ﯿﺪاﺳﺖ‬
‫اﺳﮑﺮﯾﭙﺘﯽ‬(‫)ﻣﻔﺴﺮي‬‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﮔﻔﺘﻪ‬ ‫ﻫﺎﯾﯽ‬ ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫ﮐﺎﻣﭙﺎﯾﻠﯽ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ .‫اﺳﺖ‬.‫ﺷﻮﻧﺪ‬ ‫ﮐﺎﻣﭙﺎﯾﻞ‬ ‫ﺑﺎﯾﺴﺖ‬ ‫ﻣﯽ‬ ‫اﺟﺮا‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﮐﻪ‬
‫آن‬ ‫ﮐﺎﻣﭙﺎﯾﻞ‬ ‫واﻗﻊ‬ ‫در‬ ‫و‬ ‫ﻧﺒﻮده‬ ‫ﺟﺪا‬ ‫ﻫﺎ‬ ‫آن‬ ‫اﺟﺮا‬ ‫و‬ ‫ﮐﺎﻣﭙﺎﯾﻞ‬ ‫ﻣﺮﺣﻠﻪ‬ ‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﮔﻔﺘﻪ‬ ‫ﻫﺎﯾﯽ‬ ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫ﻧﯿﺰ‬ ‫اﺳﮑﺮﯾﭙﺘﯽ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬
.‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫اﺟﺮا‬ ‫زﻣﺎن‬ ‫در‬ ‫ﻫﺎ‬‫وﻇ‬.‫اﺳﺖ‬ ‫ﻣﺮورﮔﺮ‬ ‫ﻋﻬﺪه‬ ‫ﺑﺮ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﻔﺴﯿﺮ‬ ‫ﯿﻔﻪ‬
‫ﺑﺮﻧﺎﻣ‬ ‫ﺑﻪ‬‫ﻪ‬.‫ﮔﻮﯾﻨﺪ‬ ‫ﻣﯽ‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫اﺳﮑﺮﯾﭙﺘﯽ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬
‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ .‫ﮐﺮد‬ ‫اﺷﺎره‬ ‫ﻫﺎ‬ ‫آن‬ ‫در‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺳﺒﮏ‬ ‫ﺑﻪ‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬ ‫زﺑﺎن‬ ‫دو‬ ‫اﯾﻦ‬ ‫دﯾﮕﺮ‬ ‫ﻣﻬﻢ‬ ‫ﻫﺎي‬ ‫ﺗﻔﺎوت‬ ‫از‬
‫ﺑﻪ‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﻟﺤﺎظ‬ ‫از‬‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫دﺳﺘﻪ‬ ‫دو‬Strongly Type‫و‬Loosely Type.‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺗﻘﺴﯿﻢ‬
‫ﮔﻮﻧﻪ‬ ‫اﯾﻦ‬ ‫ﻧﻮع‬ .‫ﻧﻤﻮد‬ ‫اﺳﺘﻔﺎده‬ ‫آن‬ ‫از‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫در‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺗﻌﯿﯿﻦ‬ ‫را‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﻮع‬ ‫اﺑﺘﺪا‬ ‫ﺑﺎﯾﺴﺖ‬ ‫ﻣﯽ‬ ‫ﻗﻮي‬ ‫ﻧﻮع‬ ‫ﺑﺎ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫در‬
‫ﻋﻤﻠﮕﺮﻫﺎ‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫اﯾﻦ‬ ‫ﮐﻪ‬ ‫ﺻﻮرﺗﯽ‬ ‫در‬ ‫و‬ ‫داد‬ ‫ﺗﻐﯿﯿﺮ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اﺟﺮا‬ ‫ﻃﻮل‬ ‫در‬ ‫ﺗﻮان‬ ‫ﻧﻤﯽ‬ ‫را‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﺧﻮد‬ ‫ﻣﻨﺎﺳﺐ‬ ‫ي‬
‫ﻫﺎي‬ ‫زﺑﺎن‬ .‫ﭘﯿﻮﻧﺪد‬ ‫ﻣﯽ‬ ‫وﻗﻮع‬ ‫ﺑﻪ‬ ‫ﺧﻄﺎﯾﯽ‬ ‫ﯾﺎ‬ ‫و‬ ‫آﯾﻨﺪ‬ ‫ﻣﯽ‬ ‫دﺳﺖ‬ ‫ﺑﻪ‬ ‫ﻧﺎدرﺳﺖ‬ ‫ﻧﺘﺎﯾﺞ‬ ‫ﻧﺮوﻧﺪ‬C++‫و‬java‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫دﺳﺖ‬ ‫اﯾﻦ‬ ‫از‬
.‫ﻫﺴﺘﻨﺪ‬
‫ﺑ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫در‬ ‫ﻣﻘﺎﺑﻞ‬ ‫در‬‫ﻣﺘﻐﯿﺮ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺑﻪ‬ ‫ﻧﯿﺎزي‬ ‫ﺿﻌﯿﻒ‬ ‫ﻧﻮع‬ ‫ﺎ‬‫ﺗﻌﯿﯿﻦ‬ ‫ﻫﺎ‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫در‬ .‫ﺑﺎﺷﺪ‬ ‫ﻧﻤﯽ‬ ‫ﻫﺎ‬ ‫آن‬ ‫داده‬ ‫ﻧﻮع‬ ‫ﺗﻌﯿﯿﻦ‬ ‫و‬ ‫ﻫﺎ‬
‫در‬ ‫ﺑﻨﺎﺑﺮاﯾﻦ‬ ‫و‬ ‫ﮔﯿﺮد‬ ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫زﺑﺎن‬ ‫ﺧﻮد‬ ‫ﺗﻮﺳﻂ‬ ‫ﻧﯿﺎز‬ ‫ﺣﺴﺐ‬ ‫ﺑﺮ‬ ‫و‬ ‫ﺧﻮدﮐﺎر‬ ‫ﻃﻮر‬ ‫ﺑﻪ‬ ‫داده‬ ‫ﻫﺎي‬ ‫ﻧﻮع‬‫ﻃ‬‫ﻫﺎ‬ ‫داده‬ ‫ﭘﺮدازش‬ ‫ﻓﺮآﯾﻨﺪ‬ ‫ﯽ‬
‫ﻫﻤﭽﻮن‬ ‫ﻫﺎﯾﯽ‬ ‫زﺑﺎن‬ .‫داد‬ ‫ﺗﻐﯿﯿﺮ‬ ‫و‬ ‫ﺑﺮرﺳﯽ‬ ‫را‬ ‫ﻫﺎ‬ ‫داده‬ ‫ﻧﻮع‬ ‫راﺣﺘﯽ‬ ‫ﺑﻪ‬ ‫ﻣﺮﺣﻠﻪ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬javascript‫و‬PHP‫اﯾﻦ‬ ‫از‬
.‫ﻫﺴﺘﻨﺪ‬ ‫دﺳﺖ‬
‫ﺗﻮﺳﻌﻪ‬ ‫ﯾﮏ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﺷﻤﺎ‬ ‫آﻧﭽﻪ‬ ‫ﻫﻤﻪ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫ﺧﺎﻃﺮ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ‫اﯾﻦ‬ .‫اﺳﺖ‬ ‫ﺟﺎوا‬ ‫از‬ ‫ﺗﺮ‬ ‫ﺳﺎده‬ ‫ﺑﺴﯿﺎر‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﯾﺎدﮔﯿﺮي‬
‫از‬ ‫ﻋﻤﯿﻖ‬ ‫درﮐﯽ‬ ‫دارﯾﺪ‬ ‫ﻧﯿﺎز‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﯾﺎدﮔﯿﺮي‬ ‫ﺑﺮاي‬ ‫وب‬ ‫دﻫﻨﺪ‬HTML‫از‬ ‫درﺳﺘﯽ‬ ‫درك‬ ‫ﭼﻨﺎﻧﭽﻪ‬ ‫ﺣﺎل‬ ‫اﯾﻦ‬ ‫ﺑﺎ‬ .‫اﺳﺖ‬
‫ﻧﯿﺰ‬ ‫ﺟﺎوا‬ ‫ﯾﺎدﮔﯿﺮي‬ ‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬‫ﺑﺮاﯾﺘﺎن‬!‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫دﻟﭙﺬﯾﺮ‬ ‫و‬ ‫ﺳﻬﻞ‬
1
Object Oriented Programming
2
Like Object Oriented
3
Java Server Page
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫اﺻﻄﻼﺣﺎت‬ ‫و‬ ‫ﻣﻔﺎﻫﯿﻢ‬ ‫ﺑﺎ‬ ‫آﺷﻨﺎﯾﯽ‬
4
1
‫اﺟﺰا‬‫دﻫﻨﺪه‬ ‫ﺗﺸﮑﯿﻞ‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬
DOM
1
‫ﻣﺪل‬ ‫؛‬‫ﺷﯽ‬‫ﺳﻨﺪ‬ ‫ﮔﺮاي‬
DOM‫از‬ ‫ﯾﮑﯽ‬API2
‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫)راﺑﻂ‬ ‫ﻫﺎ‬‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫ﺑﺮاي‬ (HTML‫و‬XML‫ﺑ‬‫ﻪ‬.‫رود‬ ‫ﻣﯽ‬ ‫ﺷﻤﺎر‬
DOM‫ﻋﻨﺎﺻﺮ‬ ‫ﺗﻤﺎم‬‫ﻫﺎ‬ ‫ﮔﺮه‬ ‫از‬ ‫درﺧﺘﯽ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬ ‫وب‬ ‫ﺻﻔﺤﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬3
‫دﻫﺪ‬ ‫ﻣﯽ‬ ‫ﻧﻤﺎﯾﺶ‬‫و‬‫ﺑﺮاي‬ ‫ﻫﺎ‬ ‫آن‬ ‫ﮐﻨﺘﺮل‬ ‫اﻣﮑﺎن‬
‫آورد‬ ‫ﻣﯽ‬ ‫ﻓﺮاﻫﻢ‬ ‫را‬ ‫وب‬ ‫دﻫﻨﺪﮔﺎن‬ ‫ﺗﻮﺳﻌﻪ‬.‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬DOM‫را‬ ‫ﻫﺎ‬ ‫ﮔﺮه‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬‫را‬ ‫ﺑﻪ‬،‫ﺣﺬف‬ ‫ﺣﺘﯽ‬،‫اﺿﺎﻓﻪ‬‫ﺟﺎﺑﺠﺎ‬‫ﺟﺎﯾﮕﺰﯾﻦ‬ ‫ﯾﺎ‬ ‫و‬
‫ﮐﺮد‬.
BOM
4
‫ﻣﺪل‬ ‫؛‬‫ﺷﯽ‬‫ﻣﺮورﮔﺮ‬ ‫ﮔﺮاي‬
‫از‬ ‫دﯾﮕﺮ‬ ‫ﯾﮑﯽ‬API‫ﺑﺮاي‬ ‫ﺷﺪه‬ ‫ﺳﺎﺧﺘﻪ‬ ‫ﻫﺎي‬HTML‫ﻣﺮورﮔﺮﻫﺎي‬ ‫ﻓﺮد‬ ‫ﺑﻪ‬ ‫ﻣﻨﺤﺼﺮ‬ ‫ﻫﺎي‬ ‫وﯾﮋﮔﯽ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﮐﻪ‬IE‫و‬
Netscape‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﺷﻨﺎﺧﺘﻪ‬ ‫ﻧﯿﺰ‬BOM.‫اﺳﺖ‬
‫از‬BOM.‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬ ‫ﻣﺮورﮔﺮ‬ ‫ﯾﮏ‬ ‫ﭘﻨﺠﺮه‬ ‫ﻫﺎي‬ ‫وﯾﮋﮔﯽ‬ ‫دﺳﺘﮑﺎري‬ ‫و‬ ‫دﺳﺘﺮﺳﯽ‬ ‫ﺑﺮاي‬
‫وب‬ ‫دﻫﻨﺪﮔﺎن‬ ‫ﺗﻮﺳﻌﻪ‬‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬BOM‫ﻣﯽ‬‫وﺿﻌﯿﺖ‬ ‫ﻧﻮار‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫ﻣﺘﻦ‬ ‫ﺗﻐﯿﯿﺮ‬ ‫و‬ ‫ﻫﺎ‬ ‫ﭘﻨﺠﺮه‬ ‫ﺟﺎﺑﺠﺎﯾﯽ‬ ‫ﻫﻤﭽﻮن‬ ‫ﮐﺎرﻫﺎﯾﯽ‬ ‫ﺗﻮاﻧﺪ‬
‫ﺑﺎ‬ ‫ﻣﺴﺘﻘﯿﻤﯽ‬ ‫ارﺗﺒﺎط‬ ‫ﮐﻪ‬ ‫ﮐﺎرﻫﺎﯾﯽ‬ ‫دﯾﮕﺮ‬ ‫و‬ ‫ﻣﺮورﮔﺮ‬‫دﻫﻨﺪه‬ ‫ﺗﺸﮑﯿﻞ‬ ‫ﻣﺤﺘﻮاي‬(‫)ﺳﻨﺪ‬ ‫ﺻﻔﺤﻪ‬‫ﻧﺪار‬‫ﻧ‬‫دﻫﻨﺪ‬ ‫اﻧﺠﺎم‬ ‫ﺪ‬.
‫ﻣﻌﻤﻮﻵ‬BOM‫داد‬ ‫اﻧﺠﺎم‬ ‫را‬ ‫زﯾﺮ‬ ‫ﮐﺎرﻫﺎي‬ ‫آن‬ ‫ﻃﺮﯾﻖ‬ ‫از‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬ ‫و‬ ‫داﺷﺘﻪ‬ ‫ﮐﺎر‬ ‫و‬ ‫ﺳﺮ‬ ‫ﻫﺎ‬ ‫ﻓﺮﯾﻢ‬ ‫و‬ ‫ﻫﺎ‬ ‫ﭘﻨﺠﺮه‬ ‫ﺑﺎ‬:
‫ﺑ‬‫ﭘﻨﺠﺮه‬ ‫ﮐﺮدن‬ ‫ﺎز‬‫ﻫ‬‫ﺎي‬popup.
‫ﻫﺎ‬ ‫آن‬ ‫ﺑﺴﺘﻦ‬ ‫ﯾﺎ‬ ‫و‬ ‫ﺟﺎﺑﺠﺎﯾﯽ‬ ‫و‬ ‫اﻧﺪازه‬ ‫ﺗﻐﯿﯿﺮ‬ ‫و‬ ‫ﺟﺪﯾﺪ‬ ‫ﻫﺎي‬ ‫ﭘﻨﺠﺮه‬ ‫ﺑﺎزﮐﺮدن‬ ‫ﺗﻮاﻧﺎﯾﯽ‬.
‫ﻣﺮورﮔﺮ‬ ‫از‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫آوردن‬ ‫ﺑﺪﺳﺖ‬...‫و‬ ‫ﻧﺴﺨﻪ‬ ،‫ﻧﻮع‬ ‫ﻫﻤﭽﻮن‬ ‫ﮐﺎرﺑﺮان‬ ‫ﻋﺎﻣﻞ‬ ‫ﺳﯿﺴﺘﻢ‬ ‫و‬
‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺑﺎز‬ ‫ﻣﺮورﮔﺮ‬ ‫در‬ ‫ﮐﻪ‬ ‫اي‬ ‫ﺻﻔﺤﻪ‬ ‫ﻣﻮﻗﻌﯿﺖ‬ ‫و‬ ‫ﺳﻨﺪ‬ ‫ﻣﻮرد‬ ‫در‬ ‫اﻃﻼﻋﺎﺗﯽ‬ ‫آوردن‬ ‫ﺑﺪﺳﺖ‬.
‫آ‬ ‫ﺑﺪﺳﺖ‬‫وردن‬‫وﺿﻮح‬ ‫ﻣﻮرد‬ ‫در‬ ‫اﻃﻼﻋﺎﺗﯽ‬5
‫ﮐﺎرﺑﺮ‬ ‫ﻧﻤﺎﯾﺶ‬ ‫ﺻﻔﺤﻪ‬.
‫از‬ ‫ﭘﺸﺘﯿﺒﺎﻧﯽ‬cookie‫ﻫﺎ‬.
‫ﺑ‬‫ﻪ‬‫دﻟﯿﻞ‬‫وﺟﻮد‬ ‫ﻋﺪم‬‫اﺳﺘﺎﻧﺪاردي‬‫واﺣﺪ‬‫ﺑﺮاي‬BOM،.‫ﮐﻨﺪ‬ ‫ﭘﺸﺘﯿﺒﺎﻧﯽ‬ ‫آن‬ ‫از‬ ‫ﻣﺘﻔﺎوت‬ ‫ﺻﻮرﺗﯽ‬ ‫ﺑﻪ‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫ﻣﺮورﮔﺮ‬ ‫ﻫﺮ‬‫ﻣﺎﻧﻨﺪ‬‫اﺷﯿﺎ‬
window‫و‬navigator‫و‬ ‫ﻣﺘﺪﻫﺎ‬ ‫ﻣﺮورﮔﺮ‬ ‫ﻫﺮ‬ ‫ﮐﻪ‬‫ﺧﻮاص‬‫ﻣﻨ‬‫ﺤ‬‫ﮐﺮده‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﻫﺎ‬ ‫آن‬ ‫ﺑﺮاي‬ ‫ﻓﺮدي‬ ‫ﺑﻪ‬ ‫ﺼﺮ‬.‫اﺳﺖ‬
‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﺑﻨﯿﺎدي‬ ‫ﻫﺎي‬ ‫وﯾﮋﮔﯽ‬
‫زﺑﺎن‬ ‫در‬ ‫اﺻﻠﯽ‬ ‫ﻣﻔﻬﻮم‬ ‫ﭼﻨﺪ‬ ‫ﺑﻪ‬ ‫اﯾﻨﮏ‬javascript‫ﭘﺮدازﯾﻢ‬ ‫ﻣﯽ‬:
‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬‫ﺣﺮوف‬ ‫ﺑﻪ‬ ‫ﺣﺴﺎس‬6
‫اﺳﺖ‬:‫ﯾﻌﻨﯽ‬‫ﭼﯿﺰ‬ ‫ﻫﻤﻪ‬‫ﻧﺎم‬ ‫ﻣﺎﻧﻨﺪ‬‫ﭼﯿﺰ‬ ‫ﻫﺮ‬ ‫و‬ ‫ﻫﺎ‬ ‫ﻋﻤﻠﮕﺮ‬ ، ‫ﺗﻮاﺑﻊ‬ ‫ﻧﺎم‬ ، ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬
‫دﯾﮕﺮي‬‫اﺳﺖ‬ ‫ﺣﺴﺎس‬ ‫ﺑﺰرگ‬ ‫و‬ ‫ﮐﻮﭼﮏ‬ ‫ﺣﺮوف‬ ‫ﺑﻪ‬ ‫ﻧﺴﺒﺖ‬.‫ﺑﻪ‬‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬‫ﻧﺎم‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮي‬Test‫ﻣﺘﻐﯿ‬ ‫ﺑﺎ‬‫ﻧﺎم‬ ‫ﺑﺎ‬ ‫ﺮي‬test
.‫اﺳﺖ‬ ‫ﻣﺘﻔﺎوت‬
1
Document Object Model
2
Application Programming Interface
3
Node
4
Browser Object Model
5
Resolution
6
Case Sensitive
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫آﻣﻮزش‬‫ﮐﺎرﺑﺮدي‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬–‫اﺣﻤﺪ‬‫ﺑﺎدﭘﯽ‬
5
1
‫ﻣﺘﻐ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﻧﻮع‬ ‫ﺑﺪون‬ ‫ﯿﺮﻫﺎ‬:‫ﻫﻤﭽﻮن‬ ‫ﻫﺎﯾﯽ‬ ‫زﺑﺎن‬ ‫ﺑﺮﺧﻼف‬java‫و‬C‫ﻣﺘﻐﯿ‬ ,.‫ﮔﯿﺮﻧﺪ‬ ‫ﻧﻤﯽ‬ ‫ﺧﺎﺻﯽ‬ ‫ﻧﻮع‬ ‫ﺮﻫﺎ‬‫ﻋﻮض‬ ‫در‬
‫ﻣﺘﻐ‬ ‫ﻫﺮ‬‫ﮐﻠﯿﺪي‬ ‫ﮐﻠﻤﻪ‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﯿﺮ‬var‫ﺑﭙﺬﯾﺮد‬ ‫اوﻟﯿﻪ‬ ‫ﻣﻘﺪار‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬ ‫ﻣﻘﺪاري‬ ‫و‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﯾﻒ‬.‫ﻣ‬ ‫واﻗﻊ‬ ‫در‬‫ﺘﻐﯿ‬‫ﺮﻫﺎ‬"‫ﻣﻘﺪار‬
‫ﮔﺮ‬‫ا‬".‫ﻫﺴﺘﻨﺪ‬‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ (‫)ﻣﻘﺪاردﻫﯽ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﮐﻪ‬ ‫ﻫﻨﮕﺎﻣﯽ‬ ‫در‬ ‫ﯾﻌﻨﯽ‬‫ﮔﺮدد‬ ‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬ ‫ﻧﯿﺰ‬ ‫ﻧﻮﻋﺸﺎن‬.‫اﻣﮑﺎن‬ ‫وﯾﮋﮔﯽ‬ ‫اﯾﻦ‬
.‫ﮐﻨﺪ‬ ‫ﻣﯽ‬ ‫ﻓﺮاﻫﻢ‬ ‫را‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫از‬ ‫اي‬ ‫ﻧﻘﻄﻪ‬ ‫ﻫﺮ‬ ‫در‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫در‬ ‫ﺷﺪه‬ ‫ذﺧﯿﺮه‬ ‫داده‬ ‫ﻧﻮع‬ ‫ﺗﻐﯿﯿﺮ‬
‫دادن‬ ‫ﻗﺮار‬);(‫اﺳﺖ‬ ‫اﺧﺘﯿﺎري‬ ‫دﺳﺘﻮر‬ ‫ﻫﺮ‬ ‫اﻧﺘﻬﺎي‬ ‫در‬:‫ﺑﻪ‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫ﻣﯽ‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬ ‫در‬ ‫دﺳﺘﻮرات‬;‫ﺷﻮﻧﺪ‬ ‫ﺧﺘﻢ‬‫ﯾﺎ‬
.‫ﻧﺸﻮﻧﺪ‬‫ﺻﻮرت‬ ‫در‬‫از‬ ‫ﭘﻮﺷﯽ‬ ‫ﭼﺸﻢ‬;،‫ﻫ‬ ‫اﻧﺘﻬﺎي‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬‫ﺧﻂ‬ ‫ﺮ‬.‫ﮔﺮﻓﺖ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫دﺳﺘﻮر‬ ‫ﭘﺎﯾﺎن‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬‫ﺑﺎ‬
‫ﺣﺎل‬ ‫اﯾﻦ‬‫ﺻﺤﯿﺢ‬ ‫روش‬،‫از‬ ‫اﺳﺘﻔﺎده‬;.‫اﺳﺖ‬ ‫دﺳﺘﻮرات‬ ‫اﻧﺘﻬﺎي‬ ‫در‬‫ﻧﻤﯽ‬ ‫ﭘﺸﺘﯿﺒﺎﻧﯽ‬ ‫اول‬ ‫روش‬ ‫از‬ ‫ﻣﺮورﮔﺮﻫﺎ‬ ‫از‬ ‫ﺑﻌﻀﯽ‬ ‫ﭼﻮن‬
.‫ﺷﻮﻧﺪ‬ ‫ﻣﺸﮑﻞ‬ ‫دﭼﺎر‬ ‫ﮐﺪﻫﺎ‬ ‫اﺟﺮاي‬ ‫در‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫و‬ ‫ﮐﻨﺪ‬
‫درج‬‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬ ‫در‬ ‫ﺗﻮﺿﯿﺤﺎت‬:‫ﮐﺪﻫﺎ‬ ‫ﻣﯿﺎن‬ ‫در‬ ‫ﺗﻮﺿﯿﺤﺎت‬ ‫درج‬ ‫ﺑﺮاي‬‫ﺗﻮان‬ ‫ﻣﯽ‬‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫ﻫﺎي‬ ‫روش‬ ‫از‬
‫ﻫﻤﭽﻮن‬ ‫ﻧﻮﯾﺴﯽ‬C‫و‬C++‫از‬ ‫ﯾﻌﻨﯽ‬ ‫ﻧﻤﻮد‬ ‫اﺳﺘﻔﺎده‬//‫ﺧﻄﯽ‬ ‫ﯾﮏ‬ ‫ﺗﻮﺿﯿﺤﺎت‬ ‫ﺑﺮاي‬‫ﯾﺎ‬/* */‫ﭼﻨﺪ‬ ‫ﺗﻮﺿﯿﺤﺎت‬ ‫ﺑﺮاي‬
‫ﺧﻄﯽ‬:
//this is a single-line comment
/* this is a multiline
comment */
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﻫﺎي‬ ‫داده‬ ‫اﻧﻮاع‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺷﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫آﺷﻨﺎ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫در‬ ‫ﻫﺎ‬ ‫آن‬ ‫ﻧﺎﻣﮕﺬاري‬ ‫ﻗﻮاﻧﯿﻦ‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫روش‬ ‫ﺑﺎ‬ ‫اﺑﺘﺪا‬ ‫ﻓﺼﻞ‬ ‫اﯾﻦ‬ ‫در‬
‫ﺧﻮاﻫﯿﻢ‬ ‫ﺑﺮرﺳﯽ‬ ‫را‬ ‫ﻣﻮﺟﻮد‬‫ﮐﺮد‬‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎم‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬ ‫آن‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫اﻣﮑﺎن‬ ‫ﮐﻪ‬ ‫ﺷﺪه‬ ‫رزرو‬ ‫و‬ ‫ﮐﻠﯿﺪي‬ ‫ﮐﻠﻤﺎت‬ ‫از‬ ‫ﻟﯿﺴﺘﯽ‬ ‫ﻫﻤﭽﻨﯿﻦ‬ .
‫وﺟﻮد‬ ‫ﺗﻮاﺑﻊ‬.‫ﮐﺮد‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫اراﺋﻪ‬ ‫را‬ ‫ﻧﺪارد‬
‫ﺧﻮاﻫﯿﻢ‬ ‫ﺑﺮرﺳﯽ‬ ‫را‬ ‫ﯾﮑﺪﯾﮕﺮ‬ ‫ﺑﻪ‬ ‫ﮔﻮﻧﺎﮔﻮن‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻫﺎي‬ ‫روش‬ ‫و‬ ‫ﭘﺮداﺧﺘﻪ‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻣﻬﻢ‬ ‫ﺑﺴﯿﺎر‬ ‫ﻣﺒﺤﺚ‬ ‫ﺑﻪ‬ ‫ﻓﺼﻞ‬ ‫اﯾﻦ‬ ‫در‬ ‫ﻫﻤﭽﻨﯿﻦ‬
.‫ﮐﺮد‬
‫اع‬‫ﻮ‬‫اﻧ‬‫و‬‫ﻣﺘﻐﯿﺮﻫﺎ‬‫ﻫﺎ‬‫اده‬‫د‬
‫دو‬ ‫ﻓﺼﻞ‬
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﻫﺎ‬ ‫داده‬ ‫اﻧﻮاع‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬
8
2
‫ﻣﺘﻐ‬‫ﯿﺮﻫﺎ‬‫ﺟﺎوا‬ ‫در‬‫اﺳﮑﺮﯾﭙﺖ‬
‫ﻣﺘﻐﯿ‬‫ﮐﻠﻤﻪ‬ ‫ﺑﺎ‬ ‫ﻫﺎ‬ ‫ﺮ‬var:‫ﻣﺎﻧﻨﺪ‬ .‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺗﻌﺮﯾﻒ‬
Var test ='ali';
‫ﻧﺎم‬ ‫ﺑﺎ‬ ‫ﻣﺘﻐﯿﺮي‬ ‫ﻣﺜﺎل‬ ‫اﯾﻦ‬ ‫در‬test‫اوﻟﯿﻪ‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫ﺷﺪه‬ ‫اﻋﻼن‬'ali'‫ﻣﯽ‬ ‫را‬.‫ﮔﯿﺮد‬
‫ﻣﺘﻐ‬ ‫ﭼﻮن‬‫ﻧﻮع‬ ‫ﺧﻮد‬ ‫ﺑﻪ‬ ‫ﺧﻮد‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬ ‫ﻣﻔﺴﺮ‬ ‫ﻫﺴﺘﻨﺪ‬ ‫ﻧﻮع‬ ‫ﺑﺪون‬ ‫ﯿﺮﻫﺎ‬test‫را‬‫رﺷﺘﻪ‬‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬.‫ﮔﯿﺮد‬
‫ﻣﯽ‬ ‫ﻫﻤﭽﻨﯿﻦ‬‫ﯾﺎ‬ ‫دو‬ ‫ﺗﻮاﻧﯿﻢ‬:‫ﮐﻨﯿﻢ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﻫﻤﺰﻣﺎن‬ ‫را‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﭼﻨﺪ‬
var test 1='ali' , test2='salam' ;
‫ﯾﮏ‬ ‫ﺑﺎ‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮﻫﺎﯾﯽ‬ ‫ﺑﺎﺷﯿﻢ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﺑﺎﯾﺪ‬var.‫ﺑﺎﺷﻨﺪ‬ ‫ﻧﺪاﺷﺘﻪ‬ ‫ﯾﮑﺴﺎﻧﯽ‬ ‫ﻧﻮع‬ ‫اﺳﺖ‬ ‫ﻣﻤﮑﻦ‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﺗﻌﺮﯾﻒ‬
var test_1='ali' , age=25;
‫ﺟﺎوا‬ ‫ﺑﺮﺧﻼف‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫در‬‫ﺗﻮاﻧﻨﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬.‫ﻧﮕﯿﺮﻧﺪ‬ ‫اوﻟﯿﻪ‬ ‫ﻣﻘﺪار‬
var test ;
‫ﺑﺮﺧﻼف‬‫زﻣﺎن‬ ‫در‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﺟﺎوا‬‫ﻣﺨﺘﻠﻒ‬ ‫ﻫﺎي‬‫ﻣﻘﺎدﯾﺮ‬‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫ﻣﺘﻔﺎوﺗﯽ‬.‫اﻣﺘﯿﺎزات‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫اﯾﻦ‬‫ﻣ‬‫ﺘﻐﯿﺮ‬‫ﻫﺎي‬
‫در‬ ‫ﻧﻮع‬ ‫ﺑﺪون‬‫ﺟﺎوا‬ ‫زﺑﺎن‬.‫رود‬ ‫ﻣﯽ‬ ‫ﺷﻤﺎر‬ ‫ﺑﻪ‬ ‫اﺳﮑﺮﯾﭙﺖ‬‫ﻣﺘ‬ ‫ﯾﮏ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫رﺷﺘﻪ‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ﺑﺎﯾﺪ‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻐﯿﺮ‬‫اي‬
.‫ﮐﻨﺪ‬ ‫ﺗﻐﯿﯿﺮ‬ ‫ﻋﺪدي‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫اداﻣﻪ‬ ‫در‬ ‫ﺳﭙﺲ‬ ‫و‬ ‫ﺷﺪه‬ ‫اوﻟﯿﻪ‬ ‫ﻣﻘﺪاردﻫﯽ‬:‫ﮐﻨﯿﺪ‬ ‫دﻗﺖ‬ ‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫ﺑﻪ‬
var test ="hi" ;
alert(test); // hi
test=55;
alert(test); // 55
‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎﻣﮕﺬاري‬‫ﻫﺎ‬
‫ﻣﺘﻐ‬ ‫ﻧﺎﻣﮕﺬاري‬‫ﺑﺎﯾﺴ‬ ‫ﻣﯽ‬ ‫ﯿﺮﻫﺎ‬‫ﺖ‬‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫زﯾﺮ‬ ‫ﺷﺮاﯾﻂ‬:
‫ﯾﮏ‬ , ‫ﺣﺮف‬ ‫ﯾﮏ‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﮐﺎراﮐﺘﺮ‬ ‫اوﻟﯿﻦ‬underline( _ )‫ﻋﻼﻣﺖ‬ ‫ﯾﮏ‬ ‫ﯾﺎ‬ ‫و‬$.‫ﺑﺎﺷﺪ‬
‫ﻣﯽ‬ ‫ﮐﺎراﮐﺘﺮﻫﺎ‬ ‫ﺑﻘﯿﻪ‬‫ﺗﻮاﻧ‬‫ﻨ‬‫از‬ ‫ﺪ‬$،_‫ﻋﺪدي‬ ‫و‬ ‫ﺣﺮف‬ ‫ﻫﺮ‬ ‫ﯾﺎ‬ ‫و‬‫ﺷﻮﻧﺪ‬ ‫ﺗﺸﮑﯿﻞ‬.
‫ﻣﺘﻐﯿ‬ ‫ﺗﻤﺎم‬‫ﺮ‬‫ﻫﺴﺘﻨﺪ‬ ‫ﺻﺤﯿﺢ‬ ‫زﯾﺮ‬ ‫ﻫﺎي‬:
var test ;
var $test ;
var $1 ;
var _$test2 ;
‫ﯾﮏ‬ ‫ﻧﺎم‬ ‫ﺻﺤﺖ‬ ‫اﻟﺒﺘﻪ‬‫ﻧﺎﻣﮕﺬاري‬ ‫در‬ ‫اﺳﺖ‬ ‫ﺑﻬﺘﺮ‬ .‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻫﺎ‬ ‫آن‬ ‫از‬ ‫ﺗﻮاﻧﯿﺪ‬ ‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫ﻧﯿﺴﺖ‬ ‫ﻣﻌﻨﯽ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬ ،‫ﻧﺤﻮي‬ ‫ﻧﻈﺮ‬ ‫از‬ ‫ﻣﺘﻐﯿﺮ‬
‫ﮐﻨﯿﺪ‬ ‫ﺗﺒﻌﯿﺖ‬ ‫زﯾﺮ‬ ‫ﺷﺪه‬ ‫ﺷﻨﺎﺧﺘﻪ‬ ‫ﻗﺮاردادﻫﺎي‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫از‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬:
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫آﻣﻮزش‬‫ﮐﺎرﺑﺮدي‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬–‫اﺣﻤﺪ‬‫ﺑﺎدﭘﯽ‬
9
2
‫ﺷﺘﺮي‬ ‫ﮔﺬاري‬ ‫ﻧﺸﺎﻧﻪ‬1
‫ا‬ ‫در‬ :‫ﮐﻮﭼﮏ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اول‬ ‫ﺣﺮف‬ ،‫ﻗﺮارداد‬ ‫ﯾﻦ‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺑﺰرگ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﻠﻤﺎت‬ ‫ﺑﻘﯿﻪ‬ ‫اول‬ ‫ﺣﺮف‬ ‫و‬
:‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ .‫ﺷﻮد‬
var myTestValue = 0, mySecondTestValue = “hi”;
‫ﻣﺘﻐﯿﺮ‬ ‫اول‬ ‫ﺣﺮف‬ ‫روش‬ ‫اﯾﻦ‬ ‫در‬ :‫ﭘﺎﺳﮑﺎل‬ ‫ﮔﺬاري‬ ‫ﻧﺸﺎﻧﻪ‬‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺑﺰرگ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﮐﻠﻤﺎت‬ ‫ﺑﻘﯿﻪ‬ ‫اول‬ ‫ﺣﺮف‬ ‫و‬‫ﺑﻪ‬ .‫ﺷﻮد‬
:‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬
var MyTestValue = 0, MySecondTestValue = “hi”;
‫ﻧﻮع‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮاي‬ ‫ﭘﺎﺳﮑﺎل‬ ‫ﮔﺬاري‬ ‫ﻧﺸﺎﻧﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﭘﯿﺸﻮﻧﺪﻫﺎ‬ ‫از‬ ‫اي‬ ‫دﻧﺒﺎﻟﻪ‬ ‫ﯾﺎ‬ ‫ﯾﮏ‬ ‫از‬ ‫روش‬ ‫اﯾﻦ‬ ‫در‬ :‫ﻣﺠﺎرﺳﺘﺎﻧﯽ‬ ‫ﮔﺬاري‬ ‫ﻧﺸﺎﻧﻪ‬
‫ﮐﺎراﮐﺘﺮ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ .‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬i‫و‬ ‫ﺻﺤﯿﺢ‬ ‫ﻋﺪد‬ ‫ﻣﻌﻨﯽ‬ ‫ﺑﻪ‬s‫رﺷﺘﻪ‬ ‫ﻣﻌﻨﯽ‬ ‫ﺑﻪ‬:‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ .‫اﺳﺖ‬
var iMyTestValue = 0, sMySecondTestValue = “hi”;
‫ﻣ‬ ‫ﭘﯿﺸﻮﻧﺪﻫﺎي‬ ‫از‬ ‫ﻟﯿﺴﺘﯽ‬ ‫زﯾﺮ‬ ‫ﺟﺪول‬‫ﻧﺸﺎﻧﻪ‬ ‫در‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻨﻈﻮر‬ ‫ﺑﻪ‬ ‫ﻮﺟﻮد‬‫اﯾﻦ‬ ‫از‬ ‫ﺟﺰوه‬ ‫اﯾﻦ‬ ‫در‬ ‫ﻣﺎ‬ .‫دﻫﺪ‬ ‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻣﺠﺎرﺳﺘﺎﻧﯽ‬ ‫ﮔﺬاري‬
.‫اﯾﻢ‬ ‫ﮐﺮده‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬ ‫ﻧﺎﻣﮕﺬاري‬ ‫ﺑﺮاي‬ ‫ﭘﯿﺸﻮﻧﺪﻫﺎ‬
‫ﻧﻮع‬‫ﭘﯿﺸﻮﻧﺪ‬‫ﻧﻤﻮﻧﻪ‬
‫آراﯾﻪ‬aaValues
‫ﺑﻮﻟﯿﻦ‬bbFaound
‫اﻋﺸﺎري‬ ‫ﻋﺪد‬ffValue
‫ﺻﺤﯿﺢ‬ ‫ﻋﺪد‬iiValue
‫ﺗﺎﺑﻊ‬fnfnMethod
‫ﺷﯽ‬ooType
‫رﺷﺘﻪ‬ssValue
‫ﻫﺎي‬ ‫ﺟﺬاﺑﯿﺖ‬ ‫ﺷﺎﯾﺪ‬ ‫ﯾﺎ‬ ‫و‬ ‫اﻣﺘﯿﺎزات‬ ‫از‬ ‫دﯾﮕﺮ‬ ‫ﯾﮑﯽ‬javascript‫در‬ ‫)ﮐﻪ‬‫ﺑﺴﯿﺎري‬‫اﯾﻦ‬ (‫ﻧﺪارد‬ ‫وﺟﻮد‬ ‫دﯾﮕﺮ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫از‬
‫ﻣﻘﺪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫را‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﯿﺴﺖ‬ ‫ﻻزم‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫دﻫﯽ‬ ‫ار‬،‫اﻋﻼن‬‫ﮐﻨﯿﻢ‬:
var sTest="hello";
sTest2=sTest + "world";
alert (sTest2); // hello world
‫ﻣﺘﻐﯿﺮ‬ ‫ﻓﻮق‬ ‫ﻣﺜﺎل‬ ‫در‬sTest2‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫اﻋﻼن‬ ‫ﻣﻘﺪاردﻫﯽ‬ ‫از‬ ‫ﻗﺒﻞ‬.
‫ﺑ‬ ‫ﻣﻔﺴﺮ‬ ‫ﮐﻪ‬ ‫ﻣﻮﻗﻌﯽ‬‫ﻣﺘﻐﯿ‬ ‫ﭼﻨﯿﻦ‬ ‫ﻪ‬‫ﺮ‬،‫اﻋﻼن‬ ‫ﺑﺪون‬ ‫ﮐﻪ‬ ‫ﻫﺎي‬‫ﻣﻘﺪاردﻫﯽ‬, ‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬،‫ﮐﻨﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮﺧﻮرد‬‫ﺳﺮاﺳﺮي‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬‫ﻫﻤﺎن‬ ‫ﺑﻪ‬‫ﻧﺎم‬
‫ﺑﻪ‬ ‫را‬ ‫ﻣﻘﺪاري‬ ‫و‬ ‫ﮐﺮده‬ ‫اﯾﺠﺎد‬.‫دﻫﺪ‬ ‫ﻣﯽ‬ ‫اﺧﺘﺼﺎص‬ ‫آن‬‫ﻣﯽ‬ ‫ﭘﯿﺸﻨﻬﺎد‬ ‫وﺟﻮد‬ ‫اﯾﻦ‬ ‫ﺑﺎ‬‫ﻣﺘﻐ‬ ‫ﮐﺎرﮔﯿﺮي‬ ‫ﺑﻪ‬ ‫از‬ ‫ﻗﺒﻞ‬ ‫ﻫﻤﯿﺸﻪ‬ ‫ﺷﻮد‬‫آن‬ ‫ﯿﺮﻫﺎ‬
.‫ﮐﻨﯿﺪ‬ ‫اﻋﻼن‬ ‫را‬ ‫ﻫﺎ‬
1
Camel Notation
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﻫﺎ‬ ‫داده‬ ‫اﻧﻮاع‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬
10
2
‫ﮐﻠﯿﺪي‬ ‫ﮐﻠﻤﺎت‬1
‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫از‬ ‫ﺗﻌﺪادي‬‫ﮐﻠﯿﺪي‬ ‫ﮐﻠﻤﺎت‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫را‬ ‫ﮐﻠﻤﺎت‬‫ﺷﻨﺎﺳﺪ‬ ‫ﻣﯽ‬.‫را‬ ‫دﺳﺘﻮرات‬ ‫اﻧﺘﻬﺎي‬ ‫ﯾﺎ‬ ‫اﺑﺘﺪا‬ ‫ﻣﻌﻤﻮﻻ‬ ‫ﮐﻠﯿﺪي‬ ‫ﮐﻠﻤﺎت‬ ‫اﯾﻦ‬
‫ﮐﻨﻨﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬.‫ﯾﺎ‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﻫﺎ‬ ‫آن‬ ‫از‬ ‫ﺗﻮان‬ ‫ﻧﻤﯽ‬ ‫و‬ ‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺷﻨﺎﺧﺘﻪ‬ ‫ﺷﺪه‬ ‫رزرو‬ ‫ﮐﻠﻤﺎت‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﮐﻠﯿﺪي‬ ‫ﮐﻠﻤﺎت‬
‫ﻧﻤﻮد‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﻮاﺑﻊ‬.‫ﻣ‬ ‫را‬ ‫ﮐﻠﻤﺎت‬ ‫اﯾﻦ‬ ‫از‬ ‫ﮐﺎﻣﻠﯽ‬ ‫ﻟﯿﺴﺖ‬ ‫زﯾﺮ‬ ‫در‬‫ﮐﻨﯿﺪ‬ ‫ﻣﯽ‬ ‫ﺸﺎﻫﺪه‬:
Break else new var
Case finally return void
Catch for switch while
Continue function this with
Default if throw
Delete in try
Do instanceof typeof
‫ﺧﻄﺎي‬ ‫ﺑﺎ‬ ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺗﻮاﺑﻊ‬ ‫ﯾﺎ‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎﻣﮕﺬاري‬ ‫ﺑﺮاي‬ ‫ﻓﻮق‬ ‫ﮐﻠﻤﺎت‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫از‬ ‫اﮔﺮ‬Identifier expected‫ﺷﺪ‬ ‫ﺧﻮاﻫﯿﺪ‬ ‫روﺑﺮو‬.
‫ﺷﺪه‬ ‫رزرو‬ ‫ﮐﻠﻤﺎت‬2
‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫اﺳﺖ‬ ‫ﮐﺮده‬ ‫ﻣﻌﺮﻓﯽ‬ ‫ﻧﯿﺰ‬ ‫را‬ ‫ﺷﺪه‬ ‫رزرو‬ ‫ﮐﻠﻤﺎت‬ ‫از‬ ‫ﺗﻌﺪادي‬.‫و‬ ‫ﻫﺎ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻧﺎم‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﺗﻮاﻧﻨﺪ‬ ‫ﻧﻤﯽ‬ ‫ﻧﯿﺰ‬ ‫ﺷﺪه‬ ‫رزرو‬ ‫ﮐﻠﻤﺎت‬
‫ﺗﻮاﺑﻊ‬‫ﺷﻮﻧﺪ‬ ‫اﺳﺘﻔﺎده‬.‫ﮐﻨﯿﺪ‬ ‫ﻣﯽ‬ ‫ﻣﺸﺎﻫﺪه‬ ‫زﯾﺮ‬ ‫در‬ ‫را‬ ‫ﮐﻠﻤﺎت‬ ‫اﯾﻦ‬ ‫از‬ ‫ﮐﺎﻣﻠﯽ‬ ‫ﻟﯿﺴﺖ‬:
Abstract enum int short
Boolean export interface static
Byte extends long super
Char final native synchronized
Class float package throws
Const goto private transient
Debugger implements protected volatile
Double import public
‫ﻫﺎي‬ ‫داده‬ ‫اﻧﻮاع‬‫اﺻﻠﯽ‬
‫ﻧﻮع‬ ‫ﭘﻨﺞ‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬ ‫در‬‫داده‬‫اﺻﻠﯽ‬‫دارد‬ ‫وﺟﻮد‬ ‫زﯾﺮ‬ ‫ﺷﺮح‬ ‫ﺑﻪ‬:
undefined
null
boolean
number
string
‫از‬‫ﻋﻤﻠﮕﺮ‬typeof‫ﻋﻤﻠﮕﺮ‬ ‫اﯾﻦ‬ .‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ﻧﻮع‬ ‫ﺗﺸﺨﯿﺺ‬ ‫ﺑﺮاي‬‫ﯾﮏ‬‫ﭘﺎراﻣﺘﺮ‬‫ﯾﺎ‬ ‫و‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﮐﻪ‬‫ﯾﮏ‬
‫ﻣﻘﺪار‬‫ﮐﺮده‬ ‫درﯾﺎﻓﺖ‬ ‫را‬ ‫ﺑﺎﺷﺪ‬.‫ﮔﺮداﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫را‬ ‫آن‬ ‫ﻧﻮع‬ ‫و‬
‫ﭘﻨﺞ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫ﻋﻤﻠﮕﺮ‬ ‫اﯾﻦ‬:‫ﮔﺮداﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫را‬ ‫زﯾﺮ‬ ‫ﻣﻘﺪار‬
undefined:‫ﻧﻮع‬ ‫از‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﮔﺮ‬Undefined.‫اﺳﺖ‬
boolean:‫ﻧﻮع‬ ‫از‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﮔﺮ‬Boolean.‫ﺑﺎﺷﺪ‬
1
Keywords
2
Reserved Words
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫آﻣﻮزش‬‫ﮐﺎرﺑﺮدي‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬–‫اﺣﻤﺪ‬‫ﺑﺎدﭘﯽ‬
11
2
number:‫ﻧﻮع‬ ‫از‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﮔﺮ‬Number‫ﺑﺎﺷﺪ‬.
string:‫از‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﮔﺮ‬String.‫ﺑﺎﺷﺪ‬
object:‫ﻧﻮع‬ ‫از‬ ‫ﯾﺎ‬ ‫ارﺟﺎع‬ ‫ﯾﮏ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫اﮔﺮ‬null‫ﺑﺎﺷﺪ‬.
‫ﻧﻮع‬‫داده‬Undefind
‫ﻣﻘﺪار‬ ‫ﺷﺎﻣﻞ‬ ‫ﻓﻘﻂ‬ ‫ﻧﻮع‬ ‫اﯾﻦ‬Undefined‫ﺷﻮد‬ ‫ﻣﯽ‬.‫اﻋﻼن‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮي‬‫ﺷﻮد‬‫اوﻟ‬ ‫دﻫﯽ‬ ‫ﻣﻘﺪار‬ ‫وﻟﯽ‬‫ﯿﻪ‬‫ﻧﺸﻮد‬‫از‬ ‫ﻓﺮض‬ ‫ﭘﯿﺶ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬
‫ﻧﻮع‬Undefined‫ﺑﻮد‬ ‫ﺧﻮاﻫﺪ‬.
var oTemp ;
alert (typeof oTemp) ; // outputs "Undefined"
‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﺗﻮﺟﻪ‬ ‫ﻧﮑﺘﻪ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬‫ﮐﻪ‬‫ﻣ‬ ‫و‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﻋﻼن‬ ‫ﮐﻪ‬ ‫ﻣﺘﻐﯿﺮي‬‫ﻣﺘﻐ‬ ‫ﺑﺎ‬ ‫ﮔﯿﺮد‬ ‫ﻧﻤﯽ‬ ‫ﻘﺪار‬‫اﺻﻶ‬ ‫ﮐﻪ‬ ‫ﯿﺮي‬‫اﻋﻼن‬‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫ﻫﻢ‬
‫اﺳﺖ‬ ‫ﻣﺘﻔﺎوت‬ ‫ﮐﺎﻣﻼ‬.‫ﻋﻤﻠﮕﺮ‬ ‫ﮐﻪ‬ ‫ﭼﻨﺪ‬ ‫ﻫﺮ‬typeof‫ﻗﺎﺋ‬ ‫ﺗﻔﺎوﺗﯽ‬ ‫دو‬ ‫اﯾﻦ‬ ‫ﺑﯿﻦ‬‫ﺷﻮد‬ ‫ﻧﻤﯽ‬ ‫ﻞ‬‫ﻣﺘﻐﯿﺮ‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﺑﺮاي‬ ‫و‬،‫ﻣﻘﺪار‬undefined‫را‬
‫ﺑﺮﻣﯽ‬،‫ﮔﺮداﻧﺪ‬‫ﻫﺎ‬ ‫آن‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫ﻓﻘﻂ‬ ‫ﭼﻪ‬ ‫اﮔﺮ‬‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫در‬)oTemp2.‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﯾﻒ‬ (
var oTemp ;
alert (typeof oTemp) ; // outputs "undefined"
alert (typeof oTemp2) ; // outputs "undefined"
‫از‬ ‫اﮔﺮ‬oTemp2‫از‬ ‫ﻏﯿﺮ‬ ‫ﺑﻪ‬ ‫ﻋﻤﻠﮕﺮي‬ ‫ﻫﺮ‬ ‫ي‬ ‫وﺳﯿﻠﻪ‬ ‫ﺑﻪ‬typeof‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬‫داد‬ ‫ﺧﻮاﻫﺪ‬ ‫رخ‬ ‫ﺧﻄﺎ‬ ‫ﯾﮏ‬:
//make sure this variable isn’t defined
//var oTemp2;
//try outputting
alert(oTemp2 == undefined); //causes error
‫ﻣﻘﺪار‬ ‫ﻧﯿﺰ‬ ‫ﮔﺮداﻧﺪ‬ ‫ﺑﺮﻧﻤﯽ‬ ‫ﺻﺮاﺣﺘﺎ‬ ‫را‬ ‫ﻣﻘﺪاري‬ ‫ﺧﻮد‬ ‫ﺑﺪﻧﻪ‬ ‫داﺧﻞ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﺗﺎﺑﻌﯽ‬ ‫ﺧﺮوﺟﯽ‬uindefined:‫اﺳﺖ‬
function Testfunc () {
// leave the function black
}
alert( TestFunc() == undefined ); //outputs “true”
‫داده‬ ‫ﻧﻮع‬Null
‫دﯾﮕﺮ‬،‫دارد‬ ‫ﻣﻘﺪار‬ ‫ﯾﮏ‬ ‫ﻓﻘﻂ‬ ‫ﮐﻪ‬ ‫داده‬ ‫ﻧﻮع‬null‫ﻣﻘﺪار‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬‫وﯾﮋه‬null.‫ﮔﯿﺮد‬ ‫ﻣﯽ‬ ‫را‬
‫ﻧﻈﺮ‬ ‫از‬javascript‫ﻧﻮع‬undefined‫ﻧﻮع‬ ‫ﻣﺸﺘﻘﺎت‬ ‫از‬ ‫ﯾﮑﯽ‬null‫و‬ ‫اﺳﺖ‬‫دو‬ ‫اﯾﻦ‬‫ﯾﮑﺪﯾﮕﺮﻧﺪ‬ ‫ﻣﻌﺎدل‬:
alert(null == undefined); //outputs “true”
‫اﻣﺎ‬ ‫ﯾﮑﺪﯾﮕﺮﻧﺪ‬ ‫ﻣﻌﺎدل‬ ‫دو‬ ‫اﯾﻦ‬ ‫ﭼﻪ‬ ‫اﮔﺮ‬‫ﻣﻌﺎﻧﯽ‬‫ﻣﺘﻔﺎوﺗﯽ‬.‫دارﻧﺪ‬undefined‫زﻣﺎﻧﯽ‬ ‫ﺗﻨﻬﺎ‬‫ﮐﻪ‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫داده‬ ‫ﻧﺴﺒﺖ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬‫ﻣﺘﻐﯿﺮ‬ ‫آن‬
‫ﮐﻪ‬ ‫ﺣﺎﻟﯽ‬ ‫در‬ .‫ﻧﺸﻮد‬ ‫ﻣﻘﺪاردﻫﯽ‬ ‫وﻟﯽ‬ ‫ﺷﻮد‬ ‫اﻋﻼن‬‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬‫زﻣﺎﻧﯽ‬‫از‬‫ﻧﻮع‬null‫اﺳﺖ‬‫ﮐﻪ‬‫ﺑﻪ‬ ‫اﺷﺎره‬‫اي‬ ‫ﺷﯽ‬‫داﺷﺘﻪ‬‫وﺟﻮد‬ ‫ﮐﻪ‬ ‫ﺑﺎﺷﺪ‬
.‫ﻧﺪارد‬
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﻫﺎ‬ ‫داده‬ ‫اﻧﻮاع‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬
12
2
‫داده‬ ‫ﻧﻮع‬Boolean
‫ﻧﻮع‬Boolean‫ﭘﺮﮐﺎرﺑﺮدﺗﺮﯾﻦ‬ ‫از‬ ‫ﯾﮑﯽ‬‫اﻧﻮاع‬‫ﻫ‬ ‫زﺑﺎن‬ ‫در‬ ‫داده‬‫رود‬ ‫ﻣﯽ‬ ‫ﺷﻤﺎر‬ ‫ﺑﻪ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺎي‬‫و‬‫ﻧﻮع‬ ‫اﯾﻦ‬ ‫از‬ ‫ﻣﺘﻐﯿﺮي‬‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻓﻘﻂ‬
‫ﻣﻘﺪار‬ ‫دو‬ ‫از‬ ‫ﯾﮑﯽ‬true‫ﯾﺎ‬false‫ﺑﭙﺬﯾﺮد‬ ‫ﻣﻘﺪار‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬.‫ﭼﻪ‬ ‫اﮔﺮ‬‫ﻣﺘﺪاول‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻫﺎي‬ ‫زﺑﺎن‬ ‫ﺧﻼف‬ ‫ﺑﺮ‬،‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬ ‫در‬
false‫ﺑﺎ‬0‫ﻟﺰوم‬ ‫ﺻﻮرت‬ ‫در‬ ‫اﻣﺎ‬ ‫ﻧﯿﺴﺖ‬ ‫ﺑﺮاﺑﺮ‬(‫ﺑﻮﻟﯽ‬ ‫ﻫﺎي‬ ‫ﻋﺒﺎرت‬ ‫در‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮاي‬ ‫)و‬0‫ﺑﻪ‬false‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﺗﺒﺪﯾﻞ‬.‫ﻫﺎي‬ ‫ﻣﺜﺎل‬ ‫ﺑﻪ‬
‫ﮐﻨﯿﺪ‬ ‫ﺗﻮﺟﻪ‬ ‫زﯾﺮ‬:
var bFound = true;
var bLost = false;
‫داده‬ ‫ﻧﻮع‬Number
.‫اﺳﺖ‬ ‫اﻧﻮاع‬ ‫ﭘﺮﮐﺎرﺑﺮدﺗﺮﯾﻦ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫ﻧﯿﺰ‬ ‫ﻧﻮع‬ ‫اﯾﻦ‬‫ﻧﻤﺎﯾﺶ‬ ‫ﺑﺮاي‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬ ‫داده‬ ‫ﻧﻮع‬ ‫اﯾﻦ‬ ‫از‬‫اﻋﺪاد‬‫ﺻﺤﯿﺢ‬8‫اﻋﺸﺎري‬ ‫اﻋﺪاد‬ ‫و‬ ‫ﺑﺎﯾﺘﯽ‬16
‫ﺑﺎﯾﺘﯽ‬‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬.
‫ﻧﻮع‬ ‫از‬ ‫زﯾﺮ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬‫ﺻﺤﯿﺢ‬‫اوﻟﯿﻪ‬ ‫ﻣﻘﺪار‬ ‫و‬ ‫اﺳﺖ‬‫ي‬55‫دارد‬ ‫را‬:
var iNum = 55;
‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﻋﻤﻞ‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫اﻋﺸﺎري‬ ‫ﻣﺘﻐﯿﺮﻫﺎي‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺑﺮاي‬:
var fNum = 5.0;
‫داده‬ ‫ﻧﻮع‬String
‫ﮐﺎر‬ ‫ﻫﺮ‬ .‫رود‬ ‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫ﮐﺎراﮐﺘﺮ‬ ‫ﭼﻨﺪﯾﻦ‬ ‫ﯾﺎ‬ ‫ﺻﻔﺮ‬ ‫ذﺧﯿﺮه‬ ‫ﺑﺮاي‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻧﻮع‬ ‫اﯾﻦ‬‫ا‬‫ﮐﺎراﮐﺘﺮ‬ ‫اوﻟﯿﻦ‬ ‫ﻣﻮﻗﻌﯿﺖ‬ .‫دارد‬ ‫ﻣﻮﻗﻌﯿﺘﯽ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫در‬ ‫ﮐﺘﺮ‬
.‫اﺳﺖ‬ ‫ﺻﻔﺮ‬
‫ﻣﺘﻐﯿﺮ‬ ‫ﯾﮏ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺑﺮاي‬‫اي‬ ‫رﺷﺘﻪ‬) ‫از‬ ‫ﺑﺎﯾﺪ‬') ‫ﯾﺎ‬ ("‫ﮐﻨﯿﻢ‬ ‫اﺳﺘﻔﺎده‬ (.‫ﮐﺎر‬ ‫ﯾﮏ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺑﺮاي‬ ‫ﻣﻌﻤﻮﻵ‬‫ا‬) ‫از‬ ‫ﮐﺘﺮ‬'‫ﯾﮏ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺑﺮاي‬ ‫و‬ (
) ‫از‬ ‫رﺷﺘﻪ‬".‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫اﺳﺘﻔﺎده‬ (
var sColor1 = "blue";
var sColor2 = 'blue';
‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬
.‫اﺳﺖ‬ ‫آن‬ ‫در‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﻗﺎﺑﻠﯿﺖ‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫زﺑﺎن‬ ‫ﻫﺮ‬ ‫ﺑﺮﺟﺴﺘﻪ‬ ‫ﻫﺎي‬ ‫وﯾﮋﮔﯽ‬ ‫از‬ ‫ﯾﮑﯽ‬‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬‫ﻣﺴﺘﺜﻨﯽ‬ ‫ﻗﺎﻋﺪه‬ ‫اﯾﻦ‬ ‫از‬ ‫ﻧﯿﺰ‬
‫اي‬ ‫ﺳﺎده‬ ‫ﻫﺎي‬ ‫روش‬ ‫و‬ ‫ﻧﺒﻮده‬.‫اﺳﺖ‬ ‫آورده‬ ‫ﻓﺮاﻫﻢ‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬‫ﺑﻪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬ ‫ﻣﺘﺪﻫﺎﯾﯽ‬ ‫از‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫در‬ ‫ﻣﻮﺟﻮد‬ ‫اﻧﻮاع‬ ‫اﮐﺜﺮ‬
.‫دارد‬ ‫وﺟﻮد‬ ‫ﺗﺮ‬ ‫ﭘﯿﭽﯿﺪه‬ ‫ﻫﺎي‬ ‫روش‬ ‫ﺑﻪ‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬ ‫ﺳﺮاﺳﺮي‬ ‫ﺗﻮاﺑﻌﯽ‬ ‫و‬ ‫ﮐﺮده‬ ‫ﭘﺸﺘﯿﺒﺎﻧﯽ‬ ‫اﻧﻮاع‬ ‫ﺳﺎﯾﺮ‬
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫آﻣﻮزش‬‫ﮐﺎرﺑﺮدي‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬–‫اﺣﻤﺪ‬‫ﺑﺎدﭘﯽ‬
13
2
‫رﺷﺘﻪ‬ ‫ﺑﻪ‬ ‫ﺗﺒﺪﯾﻞ‬
‫اﻧﻮا‬ ‫ﺑﺎ‬ ‫راﺑﻄﻪ‬ ‫در‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺟﺎوا‬ ‫ﮐﻪ‬ ‫ﻫﺎﯾﯽ‬ ‫وﯾﮋﮔﯽ‬ ‫ﺟﺬاﺑﺘﺮﯾﻦ‬ ‫از‬ ‫ﯾﮑﯽ‬‫اﺻﻠﯽ‬ ‫ع‬boolean،numbers‫و‬string‫ﻓﺮ‬‫اﺳﺖ‬ ‫ﮐﺮده‬ ‫اﻫﻢ‬
‫اﺳﺖ‬ ‫اﯾﻦ‬‫ﮐﺎذب‬ ‫اﺷﯿﺎي‬ ‫اﺻﻞ‬ ‫در‬ ‫آﻧﻬﺎ‬ ‫ﮐﻪ‬1
،‫ﻫﺴﺘﻨﺪ‬‫ﻣﯽ‬ ‫ﻓﺮدي‬ ‫ﺑﻪ‬ ‫ﻣﻨﺤﺼﺮ‬ ‫و‬ ‫ﻣﺸﺘﺮك‬ ‫ﻣﺘﺪﻫﺎي‬ ‫و‬ ‫ﻫﺎ‬ ‫ﺧﺎﺻﯿﺖ‬ ‫داراي‬ ‫ﮐﻪ‬ ‫ﻣﻌﻨﯽ‬ ‫اﯾﻦ‬ ‫ﺑﻪ‬
.‫ﺑﺎﺷﻨﺪ‬
‫ﺧﺎﺻﯿﺖ‬ ‫از‬ ‫ﺗﻮان‬ ‫ﻣﯽ‬ ‫رﺷﺘﻪ‬ ‫ﯾﮏ‬ ‫ﻃﻮل‬ ‫آوردن‬ ‫ﺑﺪﺳﺖ‬ ‫ﺑﺮاي‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬.length‫ﻧﻤﻮد‬ ‫اﺳﺘﻔﺎده‬:
var sColor = "blue" ;
alert (sColor.length) ; //outputs “4”
‫داده‬ ‫ﻧﻮع‬ ‫ﺳﻪ‬boolean،number‫و‬string‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺘﺪي‬.tostring().‫دارﻧﺪ‬ ‫رﺷﺘﻪ‬ ‫ﺑﻪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬
‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﺮاي‬ ‫ﻣﺘﺪ‬ ‫اﯾﻦ‬‫ﻧﻮع‬ ‫از‬ ‫ﻫﺎي‬Boolean‫ﻣﻘﺎدﯾﺮ‬ ‫از‬ ‫ﯾﮑﯽ‬‫اي‬ ‫رﺷﺘﻪ‬true‫و‬false‫ﺑﺮ‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﻣﻘﺪار‬ ‫ﺑﻪ‬ ‫ﺑﺴﺘﻪ‬ ‫را‬‫ﻣﯽ‬‫ﮔﺮداﻧﺪ‬:
var bFound = false;
alert(bFound.toString()); //outputs “false”
‫ﻧﻮع‬ ‫از‬ ‫ﻫﺎي‬ ‫ﻣﺘﻐﯿﺮ‬ ‫ﺑﺮاي‬ ‫ﻣﺘﺪ‬ ‫اﯾﻦ‬number‫ﮔ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫را‬ ‫ﻋﺪد‬ ‫آن‬ ‫ﺣﺎوي‬ ‫اي‬ ‫رﺷﺘﻪ‬‫ﺮداﻧﺪ‬:
var iNum1 = 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //outputs “10”
alert(fNum2.toString()); //outputs “10”
‫ﺗﺒﺪﯾﻞ‬‫ﻋﺪد‬ ‫ﺑﻪ‬
‫ﺟﺎوا‬‫اﺳﺖ‬ ‫ﮐﺮده‬ ‫ﻓﺮاﻫﻢ‬ ‫ﻋﺪدي‬ ‫ﺑﻪ‬ ‫ﻋﺪدي‬ ‫ﻏﯿﺮ‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬ ‫ﻣﺘﺪ‬ ‫دو‬ ‫اﺳﮑﺮﯾﭙﺖ‬:
 praseInt()
 parseFloat()
‫ﻧﮑﺘﻪ‬:‫ﺣﺮوف‬ ‫ﮐﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫ﺗﻮﺟﻪ‬I‫و‬F‫ﺷﻮﻧﺪ‬ ‫ﻧﻮﺷﺘﻪ‬ ‫ﺑﺰرگ‬ ‫ﺣﺮف‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫ﺑﺎﯾﺪ‬.
‫ﻣﻘﺪار‬ ‫اﻧﻮاع‬ ‫ﺑﻘﯿﻪ‬ ‫روي‬ ‫ﺑﺮ‬ ‫و‬ ‫ﮐﻨﻨﺪ‬ ‫ﻣﯽ‬ ‫ﮐﺎر‬ ‫ﻋﺪد‬ ‫ﺣﺎوي‬ ‫ﻫﺎي‬ ‫رﺷﺘﻪ‬ ‫روي‬ ‫ﺑﺮ‬ ‫ﻓﻘﻂ‬ ‫ﻫﺎ‬ ‫ﻣﺘﺪ‬ ‫اﯾﻦ‬NaN‫ﮔ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫را‬.‫ﺮداﻧﻨﺪ‬
‫ﻣﺘﺪ‬.parseInt()‫ﮐﺎر‬ ‫اوﻟﯿﻦ‬ ‫از‬‫ا‬‫اﯾﻦ‬ ‫ﻏﯿﺮ‬ ‫در‬ ‫ﮔﺮداﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫را‬ ‫آن‬ ‫ﺑﻮد‬ ‫ﻋﺪد‬ ‫اﮔﺮ‬ ‫ﮐﻨﺪ‬ ‫ﻣﯽ‬ ‫ﺷﺮوع‬ ‫رﺷﺘﻪ‬ ‫ﮐﺘﺮ‬‫ﻣﻘﺪار‬ ‫ﺻﻮرت‬NaN‫ﺑﺮﻣﯽ‬ ‫را‬
.‫ﮔﺮداﻧﺪ‬‫روﻧﺪ‬ ‫اﯾﻦ‬‫ﮐﺎر‬ ‫آﺧﺮﯾﻦ‬ ‫ﺗﺎ‬‫ا‬‫ﭘﯿ‬ ‫اداﻣﻪ‬ ‫ﮐﺘﺮ‬‫ﻣﯽ‬ ‫ﺪا‬‫ﮐﺎر‬ ‫ﺑﻪ‬ ‫اﯾﻨﮑﻪ‬ ‫ﺗﺎ‬ ‫ﮐﻨﺪ‬‫ا‬‫ﻋﺒﺎرت‬ ‫ﻣﺘﺪ‬ ‫اﯾﻦ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ .‫ﺑﺮﺳﺪ‬ ‫ﻋﺪدي‬ ‫ﻏﯿﺮ‬ ‫ﮐﺘﺮي‬
"123red"‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬123‫ﺑﺮﻣﯽ‬.‫ﮔﺮداﻧﺪ‬
var iNum1 = parseInt(“1234blue”); //returns 1234
var iNum3 = parseInt("22.5"); //returns 22
var iNum4 = parseInt("blue"); //returns NaN
‫ﻣﺘﺪ‬parseFloat()‫ﻣﺜﻞ‬ ‫ﻧﯿﺰ‬parseInt()‫ﮐﺮده‬ ‫ﻋﻤﻞ‬‫ﮐﺎر‬ ‫اوﻟﯿﻦ‬ ‫از‬ ‫و‬‫ا‬.‫ﮐﻨﺪ‬ ‫ﻣﯽ‬ ‫ﺟﺴﺘﺠﻮ‬ ‫ﺑﻪ‬ ‫ﺷﺮوع‬ ‫ﮐﺘﺮ‬‫اوﻟﯿﻦ‬ ‫ﻣﺘﺪ‬ ‫اﯾﻦ‬ ‫در‬ ‫اﻟﺒﺘﻪ‬
‫ﮐﺎر‬‫ا‬‫و‬ ‫ﺷﻮد‬ ‫ﻧﻤﯽ‬ ‫ﺣﺴﺎب‬ ‫ﻧﻘﻄﻪ‬ ‫ﮐﺘﺮ‬‫را‬ ‫آن‬‫ﺑﺮﻣﯽ‬ ‫ﺻﻮرت‬ ‫ﻫﻤﺎن‬ ‫ﺑﻪ‬‫ﮔﺮداﻧﺪ‬.
1
Pseudo-Objects
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﻫﺎ‬ ‫داده‬ ‫اﻧﻮاع‬ ‫و‬ ‫ﻣﺘﻐﯿﺮﻫﺎ‬
14
2
‫ﮐﺎر‬ ‫دو‬ ‫اﮔﺮ‬‫ا‬‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫ﻧﻘﻄﻪ‬ ‫دوﻣﯿﻦ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫داﺷﺘﻪ‬ ‫وﺟﻮد‬ ‫رﺷﺘﻪ‬ ‫در‬ ‫ﻧﻘﻄﻪ‬ ‫ﮐﺘﺮ‬‫ارزش‬ ‫ﺑﯽ‬ ‫ﮐﺎراﮐﺘﺮ‬‫ﺗﺒﺪﯾﻞ‬ ‫ﻋﻤﻠﯿﺎت‬ ‫و‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﺷﻨﺎﺧﺘﻪ‬
‫ﻫﺎ‬ ‫ﻣﺜﺎل‬ .‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﻣﺘﻮﻗﻒ‬:
var fNum1 = parseFloat(“1234blue”); //returns 1234.0
var fNum3 = parseFloat(“22.5”); //returns 22.5
var fNum4 = parseFloat(“22.34.5”); //returns 22.34
var fNum6 = parseFloat(“blue”); //returns NaN
‫از‬ ‫اﺳﺘﻔﺎده‬Type Casting‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬
‫ﺑﻪ‬ ‫ﻣﻮﺳﻮم‬ ‫روﺷﯽ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫اﻣﮑﺎن‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫در‬Type Casting.‫دارد‬ ‫وﺟﻮد‬ ‫اﻧﻮاع‬ ‫ﺗﺒﺪﯾﻞ‬ ‫ﺑﺮاي‬‫ﻧﻮع‬ ‫ﺳﻪ‬type casting‫در‬
‫ﺟﺎوا‬‫دارد‬ ‫وﺟﻮد‬ ‫اﺳﮑﺮﯾﭙﺖ‬:
 Boolean ()
 Number ()
 String ()
‫ﺗﺎﺑﻊ‬Boolean()‫زﻣﺎﻧﯽ‬‫ﻣﻘﺪار‬true‫را‬‫ﮐﻪ‬ ‫ﮔﺮداﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬،‫اش‬ ‫درﯾﺎﻓﺘﯽ‬ ‫ﭘﺎراﻣﺘﺮ‬‫رﺷﺘﻪ‬‫ﯾﮏ‬ ‫ﺣﺪاﻗﻞ‬ ‫ﺷﺎﻣﻞ‬ ‫اي‬،‫ﮐﺎرﮐﺘﺮ‬‫ﻋﺪد‬ ‫ﯾﮏ‬‫ﻏﯿﺮ‬
‫ﺻﻔﺮ‬ ‫از‬‫ﯾﮏ‬ ‫ﯾﺎ‬ ‫و‬‫ﺷﯽ‬.‫ﺑﺎﺷﺪ‬‫ﻣﻘﺪار‬false‫را‬‫زﻣﺎﻧﯽ‬ ‫ﻧﯿﺰ‬‫ﮔﺮداﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬‫اش‬ ‫درﯾﺎﻓﺘﯽ‬ ‫ﭘﺎراﻣﺘﺮ‬ ‫ﮐﻪ‬‫رﺷﺘﻪ‬‫ﻋﺪد‬ ،‫ﺗﻬﯽ‬ ‫اي‬‫ﯾﺎ‬ ‫ﺻﻔﺮ‬‫از‬ ‫ﯾﮑﯽ‬
‫ﻣﻘﺎدﯾﺮ‬undefined‫و‬null‫ﺑﺎﺷﺪ‬:
var b1 = Boolean(“”); //false – empty string
var b2 = Boolean(“hi”); //true – non-empty string
var b3 = Boolean(100); //true – non-zero number
var b4 = Boolean(null); //false - null
var b5 = Boolean(0); //false - zero
var b6 = Boolean(new Object()); //true – object
‫ﺗﺎﺑﻊ‬Number()‫ﺷﺒﯿﻪ‬ ‫ﮐﺎري‬parseInt()‫و‬parseFloat()‫دﻫﺪ‬ ‫ﻣﯽ‬ ‫اﻧﺠﺎم‬ ‫را‬‫دارد‬ ‫ﻫﻢ‬ ‫ﻫﺎﯾﯽ‬ ‫ﺗﻔﺎوت‬ ‫اﻣﺎ‬.
‫ﺑﺎﺷﯿﺪ‬ ‫داﺷﺘﻪ‬ ‫ﯾﺎد‬ ‫ﺑﻪ‬ ‫اﮔﺮ‬‫ﻣﺘﺪ‬‫ﻫﺎي‬parseInt()‫و‬parseFloat()‫آرﮔﻮﻣﺎن‬‫درﯾﺎﻓﺘﯽ‬‫را‬‫ﻓﻘﻂ‬‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫ارزش‬ ‫ﺑﯽ‬ ‫ﮐﺎراﮐﺘﺮ‬ ‫اوﻟﯿﻦ‬ ‫ﺗﺎ‬
‫ﮔﺮداﻧﺪ‬‫ﻧﺪ‬.‫رﺷﺘﻪ‬ ‫ﻣﺜﻼ‬“4.5.6”‫ﺑﻪ‬4.5‫ﮐﺮد‬ ‫ﺧﻮاﻫﻨﺪ‬ ‫ﺗﺒﺪﯾﻞ‬.‫ﻣﺘﺪ‬ ‫ﮐﺎرﺑﺮد‬ ‫اﻣﺎ‬Number()‫ﻣﻘﺪار‬ ‫رﺷﺘﻪ‬ ‫اﯾﻦ‬ ‫ﺑﺮاي‬NaN‫ﺑﺮ‬ ‫را‬‫ﻣﯽ‬-
‫رﺷﺘﻪ‬ ‫اﯾﻦ‬ ‫زﯾﺮا‬ ‫ﮔﺮداﻧﺪ‬،‫ﮐﻞ‬ ‫در‬‫ﻣﺘﺪ‬ ‫ﻧﻈﺮ‬ ‫از‬Number()،‫ﻧﺪارد‬ ‫را‬ ‫ﻋﺪد‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫اﻣﮑﺎن‬.
‫اﮔﺮ‬‫اي‬ ‫رﺷﺘﻪ‬‫ﺑﻪ‬ ‫ﺗﺒﺪﯾﻞ‬ ‫اﻣﮑﺎن‬‫ﯾﮏ‬‫ﻣﺘﺪ‬ ‫ﺑﺎﺷﺪ‬ ‫داﺷﺘﻪ‬ ‫را‬ ‫ﻋﺪد‬Number()‫ﺗﻮاﺑﻊ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮاي‬ ،‫ﺧﻮد‬parseInt()‫ﯾﺎ‬
parseFloat()‫ﮔﯿﺮد‬ ‫ﻣﯽ‬ ‫ﺗﺼﻤﯿﻢ‬.‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫در‬‫اﺟﺮاي‬ ‫ﺣﺎﺻﻞ‬‫ﺗﺎﺑﻊ‬Number()‫دﻫﺪ‬ ‫ﻣﯽ‬ ‫ﻧﺸﺎن‬ ‫را‬ ‫ﻫﺎ‬ ‫داده‬ ‫اﻧﻮاع‬ ‫ﺑﺮاي‬:
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number(“5.5”) 5.5
Number(“56”) 56
Number(“5.6.7”) NaN
Number(new Object()) NaN
Number(100) 100
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫آﻣﻮزش‬‫ﮐﺎرﺑﺮدي‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬–‫اﺣﻤﺪ‬‫ﺑﺎدﭘﯽ‬
15
2
‫ﻫﻢ‬ ‫ﺗﺎﺑﻊ‬ ‫ﺗﺮﯾﻦ‬ ‫ﺳﺎده‬String()‫ﮐﻪ‬ ‫اﺳﺖ‬‫ﻫﻤﺎن‬‫ﮔﯿﺮ‬ ‫ﻣﯽ‬ ‫ﮐﻪ‬ ‫را‬ ‫ﭼﯿﺰي‬‫ﮔﺮداﻧﺪ‬ ‫ﻣﯽ‬ ‫ﺑﺮ‬ ‫رﺷﺘﻪ‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬ ‫د‬:
var s1 = String(null); // ”null”
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﭘﺎﯾﻪ‬ ‫ﻣﻔﺎﻫﯿﻢ‬ ‫از‬ ‫ﺑﺴﯿﺎري‬ ‫ﺑﺎ‬ ‫ﺣﺪودي‬ ‫ﺗﺎ‬ ‫ﮐﻪ‬ ‫ﺣﺎل‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﻃﺮﯾﻘﻪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫ﻣﯽ‬ ‫ﺷﺪﯾﻢ‬ ‫آﺷﻨﺎ‬‫اﺳﺘﻔﺎده‬‫ﺻﻔﺤﻪ‬ ‫در‬ ‫ﻫﺎ‬ ‫آن‬ ‫دادن‬ ‫ﻗﺮار‬ ‫و‬
‫ﮐﻨﯿﻢ‬ ‫ﺑﺮرﺳﯽ‬ ‫را‬.HTML‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮاي‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﺗﮕﯽ‬ ‫ﺻﻔﺤﺎت‬ ‫در‬<script>‫آن‬ ‫ﺑﺎ‬ ‫اداﻣﻪ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮐﺮده‬ ‫ﻓﺮاﻫﻢ‬ ‫را‬
‫ﺷﺪ‬ ‫ﺧﻮاﻫﯿﻢ‬ ‫آﺷﻨﺎ‬.
‫ﻣﺮورﮔﺮﻫﺎ‬‫در‬‫اﺳﮑﺮﯾﭙﺖ‬‫ا‬‫و‬‫ﺟﺎ‬
‫ﺳﻪ‬ ‫ﻓﺼﻞ‬
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﻣﺮورﮔﺮﻫﺎ‬ ‫در‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬
18
3
‫ﺗﮓ‬ ‫داﺧﻞ‬ ‫در‬ ‫ﺗﮓ‬ ‫اﯾﻦ‬ ‫از‬ ‫ﻋﻤﻮﻣﺎ‬head‫ﺻﻔﺤﻪ‬‫اﺳﺘﻔﺎده‬‫ﯾﮏ‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫و‬ ‫ﺷﻮد‬ ‫ﻣﯽ‬،‫دو‬‫ﺳﻪ‬ ‫ﯾﺎ‬‫ﺑ‬ ‫را‬ ‫ﺻﻔﺖ‬‫ﮕﯿﺮد‬.‫ﺻﻔﺖ‬language
‫ز‬ ‫ﻧﻮع‬ ‫ﮐﻪ‬‫ﮐﻨﺪ‬ ‫ﻣﯽ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫را‬ ‫ﺷﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎن‬،‫اﺧﺘﯿﺎري‬ ‫ﺻﻔﺖ‬src‫ﺧﺎرﺟﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫ﯾﮏ‬ ‫ﻣﮑﺎن‬ ‫ﮐﻪ‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﻣ‬ ‫را‬‫ﮐﻨﺪ‬ ‫ﻣﯽ‬ ‫ﺸﺨﺺ‬‫و‬
‫ﺻﻔﺖ‬type‫ﻧﻮع‬ ‫ﮐﻪ‬MIME TYPE‫ﺧﺎرﺟﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫ﯾﮏ‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﻣﯽ‬ ‫ﻣﺸﺨﺺ‬ ‫را‬‫ﻋﺒﺎرت‬ ‫ﺑﺮاﺑﺮ‬ ‫ﺑﺎﯾﺪ‬ ‫و‬ ‫ﮐﻨﺪ‬
text/javascript‫ﺷﻮد‬ ‫داده‬ ‫ﻗﺮار‬.‫ﺻﻔﺖ‬ ‫ﻣﻘﺪار‬language‫ﺑﺮاﺑﺮ‬ ‫ﻣﻌﻤﻮﻻ‬javascript‫ﻣﺜﻼ‬ ‫آن‬ ‫ﻫﺎي‬ ‫ﻧﺴﺨﻪ‬ ‫از‬ ‫ﯾﮑﯽ‬ ‫ﯾﺎ‬javascript
1.3‫ﺷﻮد‬ ‫ﻣﯽ‬ ‫ﺗﻌﯿﯿﻦ‬.‫ﺻﻔﺖ‬ ‫از‬ ‫)اﮔﺮ‬javascript‫ﻣﺮورﮔﺮ‬ ، ‫ﺷﻮد‬ ‫ﭘﻮﺷﯽ‬ ‫ﭼﺸﻢ‬‫ﻣﯽ‬ ‫ﻧﻈﺮ‬ ‫در‬ ‫را‬ ‫زﺑﺎن‬ ‫اﯾﻦ‬ ‫ﻣﻮﺟﻮد‬ ‫ﻧﺴﺨﻪ‬ ‫آﺧﺮﯾﻦ‬ ‫ﻫﺎ‬
‫ﮔﯿﺮ‬‫ﻧ‬.‫ﺪ‬(
‫ﮐﺪ‬‫ﻫﺎي‬‫ﺟﺎوااﺳﮑﺮ‬‫ﯾ‬‫ﭙﺖ‬‫ﺗﮓ‬ ‫داﺧﻞ‬ ‫در‬<script>‫ﺻﻔﺖ‬ ‫از‬ ‫ﻫﻤﺰﻣﺎن‬ ‫ﮐﻪ‬ ‫ﺻﻮرﺗﯽ‬ ‫در‬ ‫اﻣﺎ‬ ‫ﺷﻮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻧﻮﺷﺘﻪ‬src‫ﻧﯿﺰ‬‫اﺳﺘﻔﺎده‬‫اﯾﻦ‬ ‫در‬ ‫ﺷﻮد‬
‫ﻣﺮورﮔﺮ‬ ‫ﻣﻌﻤﻮﻻ‬ ‫ﺻﻮرت‬‫ﮐﺪ‬ ‫ﻫﺎ‬‫ﺗﮓ‬ ‫داﺧﻞ‬ ‫ﻫﺎي‬<script>‫ﮔﯿﺮﻧﺪ‬ ‫ﻣﯽ‬ ‫ﻧﺎدﯾﺪه‬ ‫را‬.‫دﻗ‬ ‫زﯾﺮ‬ ‫ﻣﺜﺎل‬ ‫ﺑﻪ‬‫ﮐﻨﯿﺪ‬ ‫ﺖ‬:
<html>
<head>
<title>Title of Page</title>
<script language=”JavaScript”>
var i = 0;
</script>
<script language=”JavaScript”
src=”../scripts/external.js”></script>
</head>
<body>
<!-- body goes here -->
</body>
</html>
‫اﯾﻦ‬ ‫در‬‫ﮐﺪ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﻧﻮع‬ ‫دو‬ ‫ﻫﺮ‬ ‫ﻣﺜﺎل‬‫ﺻﻔﺤﻪ‬ ‫در‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﻫﺎي‬‫ﻧﺸﺎن‬‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫داده‬.‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫اول‬ ‫اﺳﮑﺮﯾﭙﺖ‬ ‫ﺗﮓ‬‫درون‬
‫ﺧﻄﯽ‬1
‫ﮐﺪ‬ ‫ﺗﻌﺮﯾﻒ‬ ‫ﺑﻪ‬‫ﺗﮓ‬ ‫در‬ ‫و‬ ‫اﺳﺖ‬ ‫ﭘﺮداﺧﺘﻪ‬ ‫ﻫﺎ‬<script>‫دوم‬‫ﺧﺎرﺟﯽ‬ ‫ﮐﺪﻫﺎي‬ ‫روش‬ ‫)ﺑﻪ‬2
(‫ﺧﺎرﺟﯽ‬ ‫ﻓﺎﯾﻞ‬ ‫ﯾﮏ‬ ‫ﺑﻪ‬javascript
‫اﺳﺖ‬ ‫ﺷﺪه‬ ‫اﺷﺎره‬.
‫ﺧﺎرﺟﯽ‬ ‫ﻫﺎي‬ ‫ﻓﺎﯾﻞ‬javascript
‫ﺧﺎرﺟﯽ‬ ‫ﻫﺎي‬ ‫ﻓﺎﯾﻞ‬‫دارﻧﺪ‬ ‫اي‬ ‫ﺳﺎده‬ ‫ﺑﺴﯿﺎر‬ ‫ﻓﺮﻣﺖ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬.‫ﺣﺎوي‬ ‫ﺳﺎده‬ ‫ﻣﺘﻨﯽ‬ ‫ﻫﺎي‬ ‫ﻓﺎﯾﻞ‬ ‫درواﻗﻊ‬ ‫ﻫﺎ‬ ‫آن‬‫ﮐﺪﻫﺎ‬‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ي‬
‫ﻫﺴﺘﻨﺪ‬.‫ﺗﮓ‬ ‫ﻫﯿﭻ‬ ‫از‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﺧﺎرﺟﯽ‬ ‫ﻫﺎي‬ ‫ﻓﺎﯾﻞ‬ ‫در‬ ‫ﮐﻪ‬ ‫ﮐﻨﯿﺪ‬ ‫دﻗﺖ‬script‫ي‬‫ﻧﺒﺎﯾﺪ‬‫ﺷﻮد‬ ‫اﺳﺘﻔﺎده‬.‫ﮐﺪ‬ ‫ﺗﮑﻪ‬ ‫ﺑﻪ‬ ‫ﻣﺜﺎل‬ ‫ﻋﻨﻮان‬ ‫ﺑﻪ‬
‫ﮐﻨﯿﺪ‬ ‫دﻓﺖ‬ ‫زﯾﺮ‬:
1
inline
2
external
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﮐﺎرﺑﺮدي‬ ‫آﻣﻮزش‬–‫ﺑﺎدﭘﯽ‬ ‫اﺣﻤﺪ‬
19
3
<html>
<head>
<title>Title of Page</title>
<script language=”JavaScript”>
function sayHi() {
alert(“Hi”);
}
</script>
</head>
<body>
<!-- body goes here -->
</body>
</html>
‫ﺗﺎﺑﻊ‬ ‫ﺧﻮد‬ ‫ﺗﻮاﻧﯿﻢ‬ ‫ﻣﯽ‬sayhi()‫ﻧﺎم‬ ‫ﺑﻪ‬ ‫ﻣﺜﻼ‬ ‫ﺧﺎرﺟﯽ‬ ‫ﻓﺎﯾﻠﯽ‬ ‫در‬ ‫را‬external.js‫آن‬ ‫و‬ ‫ﮐﺮده‬ ‫ذﺧﯿﺮه‬‫ﺻﻔﺤﻪ‬ ‫در‬ ‫زﯾﺮ‬ ‫ﺻﻮرت‬ ‫ﺑﻪ‬ ‫را‬‫ﻣﻮرد‬
‫اﻟﺤﺎق‬ ‫ﻧﻈﺮ‬‫ﮐﻨﯿﻢ‬:
<html>
<head>
<title>Title of Page</title>
<script language=”JavaScript” src=”external.js”></script>
</head>
<body>
<!-- body goes here -->
</body>
</html>
‫ﮐﺪ‬ ‫ﮐﺎرﮔﯿﺮي‬ ‫ﺑﻪ‬ ‫ﻫﺎي‬ ‫ﺗﻔﺎوت‬‫ﻫﺎ‬‫ﺻﻮرت‬ ‫ﺑﻪ‬‫ﺧﻄﯽ‬ ‫درون‬‫و‬‫ﺧﺎرﺟﯽ‬
‫رو‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫ﻣﺎ‬ ‫ﻣﻮﻗﻊ‬ ‫ﭼﻪ‬‫ش‬‫ﺧﻄﯽ‬ ‫درون‬‫روش‬ ‫از‬ ‫ﺑﺎﯾﺪ‬ ‫ﻣﻮﻗﻊ‬ ‫ﭼﻪ‬ ‫و‬‫ﺧﺎرﺟﯽ‬‫ﮐﻨﯿﻢ‬ ‫اﺳﺘﻔﺎده‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬ ‫ﮐﺪﻫﺎي‬ ‫ﮐﺎرﮔﯿﺮي‬ ‫ﺑﻪ‬ ‫ﺑﺮاي‬‫ﻫﺮ‬ ‫؟‬
‫روش‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫زﯾﺮ‬ ‫دﻻﯾﻞ‬ ‫ﺑﻪ‬ ‫اﻣﺎ‬ ‫ﻧﺪارد‬ ‫وﺟﻮد‬ ‫ﻓﻮق‬ ‫ﻫﺎي‬ ‫روش‬ ‫از‬ ‫ﯾﮏ‬ ‫ﻫﺮ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺮاي‬ ‫ﺳﺨﺘﯽ‬ ‫و‬ ‫ﺳﻔﺖ‬ ‫ﻗﺎﻧﻮن‬ ‫ﮐﻪ‬ ‫ﭼﻨﺪ‬‫درون‬
‫ﺧﻄﯽ‬‫ﻧﻈﺮ‬ ‫ﺑﻪ‬ ‫ﻣﻨﺎﺳﺐ‬‫رﺳﺪ‬ ‫ﻧﻤﯽ‬:
‫اﻣﻨﯿﺖ‬:‫ﮐﺮد‬ ‫ﺑﺎز‬ ‫ﺑﺎ‬ ‫ﺗﻮاﻧﺪ‬ ‫ﻣﯽ‬ ‫ﮐﺴﯽ‬ ‫ﻫﺮ‬‫ن‬source،‫ﺷﻤﺎ‬ ‫ﺻﻔﺤﻪ‬‫ﮐﺪﻫﺎ‬‫ﺑﻪ‬ ‫ﺑﺴﺎ‬ ‫ﭼﻪ‬ ‫و‬ ‫ﺑﺒﯿﻨﺪ‬ ‫را‬‫ﺑﺮده‬ ‫ﭘﯽ‬ ‫آن‬ ‫اﻣﻨﯿﺘﯽ‬ ‫ﻫﺎي‬ ‫ﺣﻔﺮه‬
‫و‬.‫ﮐﻨﺪ‬ ‫ﺳﻮءاﺳﺘﻔﺎده‬ ‫ﻫﺎ‬ ‫آن‬ ‫از‬
‫ﺣﺎﻓﻈﻪ‬ ‫در‬ ‫ﺷﺪن‬ ‫ذﺧﯿﺮه‬‫ﻣﺮورﮔﺮﻫﺎ‬:‫روش‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﻫﺎي‬ ‫ﻣﺰﯾﺖ‬ ‫از‬ ‫ﯾﮑﯽ‬‫ﺧﺎرﺟﯽ‬‫ﺧﺎرﺟﯽ‬ ‫ﻫﺎي‬ ‫ﻓﺎﯾﻞ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫اﯾﻦ‬
‫ﻣﺮورﮔﺮ‬ ‫ﻧﻬﺎن‬ ‫ﺣﺎﻓﻈﻪ‬ ‫در‬ ‫ﺑﺎرﮔﺬاري‬ ‫اوﻟﯿﻦ‬ ‫از‬ ‫ﭘﺲ‬ ‫ﺟﺎوااﺳﮑﺮﯾﭙﺖ‬1
‫ﺑﻌﺪ‬ ‫دﻓﻌﺎت‬ ‫در‬ ‫و‬ ‫ﺷﺪه‬ ‫ذﺧﯿﺮه‬،‫از‬‫ﺣﺎﻓﻈﻪ‬‫و‬ ‫ﻓﺮاﺧﻮاﻧﯽ‬
‫ﺷﺪ‬ ‫ﺧﻮاﻫﻨﺪ‬ ‫اﺳﺘﻔﺎده‬.
‫ﮐﺪ‬ ‫داري‬ ‫ﻧﮕﻪ‬‫ﻫﺎ‬2
:‫اول‬ ‫روش‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻄﻤﺌﻨﺎ‬ ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫وب‬ ‫ﺻﻔﺤﻪ‬ ‫ﭼﻨﺪﯾﻦ‬ ‫در‬ ‫ﮐﺪ‬ ‫ﯾﮏ‬ ‫از‬ ‫ﺑﺨﻮاﻫﯿﺪ‬ ‫ﺷﻤﺎ‬ ‫ﭼﻨﺎﻧﭽﻪ‬
‫ﻓﺎﯾ‬ ‫ﭼﻨﺪﯾﻦ‬ ‫ﺑﺮاي‬ ‫دوم‬ ‫روش‬ ‫از‬ ‫ﺗﻮاﻧﯿﻢ‬ ‫ﻣﯽ‬ ‫اﻣﺎ‬ ‫ﺷﺪ‬ ‫ﺧﻮاﻫﺪ‬ ‫ﺻﻔﺤﻪ‬ ‫ﺣﺠﻢ‬ ‫ﻧﺘﯿﺠﻪ‬ ‫در‬ ‫و‬ ‫ﻧﻮﯾﺴﯽ‬ ‫ﮐﺪ‬ ‫اﻓﺰاﯾﺶ‬ ‫ﻣﻮﺟﺐ‬‫اﺳﺘﻔﺎده‬ ‫ﻞ‬
‫ﮐﻨﯿﻢ‬.
1
cache
2
Code Maintenance
1stwebdesigner.ir1stwebdesigner.ir
www.takbook.com
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning
Javascript learning

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Javascript learning