You are on page 1of 39

‫‪ ‬‬

‫‪‬‬

‫‪‬‬

‫إﻋﺪاد اﻟﻄﺎﻟﺐ ‪-:‬‬

‫ﻓﺆاد ﺷﻮﻋﻲ ﻣﺤﻤﺪ ﻋﻠﻰ اﷲ‬

‫‪‬‬

‫اﺷﺮف ‪-:‬‬

‫أ‪ -‬ﻋﺜﻤﺎن أﺣﻤﺪ اﻟﻌﻤﻮدي‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬


‫ﻫﻞ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺻﻌﺒﺔ اﻟﺘﻌﻠﻢ وﻣﺎ ﻫﻲ اﻷﺷﯿﺎء اﻟﻤﺴﺎﻋﺪة ﻟﺘﻌﻠﻢ ‪Java‬‬
‫‪.script‬‬
‫ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻟﯿﺴﺖ ﺑﺎﻟﻄﺒﻊ ﺻﻌﺒﺔ وﻛﻞ ﻣﺎ ﻋﻠﯿﻚ ﻓﻌﻠﻪ ﻫﻮ اﻻﺳﺘﻌﺎﻧﺔ ﺑﺎﷲ ﺛﻢ اﻹﺻﺮار ﻋﻠﻰ اﻟﺘﻌﻠﻢ و ﺗﻄﺒﯿﻖ‬
‫اﻷﻣﺜﻠﺔ اﻟﺘﻲ ﺳﻨﺘﻄﺮق ﻟﻬﺎ وﻓﻬﻢ ﺷﺮح اﻷﺳﺎﺳﯿﺎت اﻟﻠﻐﺔ ‪ .‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ أﻃﻠﻖ اﻟﻌﻨﺎن ﻟﻤﺨﯿﻠﺘﻚ ‪.‬‬

‫ﻟﻤﺎذا ﻻ ﺗﻜﻔﻲ ﻟـ ‪ HTML‬و ﻟﻤﺎذا ﻧﺤﺘﺎج إﻟﻰ ﻟﻐﺎت اﻟﻨﺼﻮص ) ‪( script language‬‬
‫ﻣﺜﻞ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪.‬‬

‫أن ﻟﻐﺎت اﻟﻨﺼﻮص ﻣﻨﻬﺎ اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ ﺗﺤﻮل ﻣﻮﻗﻊ اﻟﻮب إﻟﻰ ﻣﻮﻗﻊ ﯾﺘﻔﺎﻋﻞ ﻣﻊ اﻟﻤﺴﺘﺨﺪم ﻣﻦ إﺿﺎﻓﺎت أزرار‬
‫وﻧﻤﺎذج ﺗﺄﺧﺬ ﺑﯿﺎﻧﺎت ﻣﻦ اﻟﻤﺴﺘﺨﺪم وﺗﺤﻮﻟﻬﺎ إﻟﻰ ﻧﻤﺎذج أﺧﺮى أو ﺗﺮﺳﻠﻬﺎ ﺑﺎﻟﺒﺮﯾﺪ اﻹﻟﻜﺘﺮوﻧﻲ أو ﺗﺠﺮي ﻋﻠﯿﻬﺎ‬
‫ﻋﻤﻠﯿﺎت ﺣﺴﺎﺑﯿﺔ ﻟﯿﺴﺖ ﺑﺴﯿﻄﺔ أﻧﻬﺎ ﺑﺎﺧﺘﺼﺎر ﺗﺤﻮل اﻟﺼﻔﺤﺔ إﻟﻰ ﻣﺎ ﯾﺴﻤﻰ ﺑﺼﻔﺤﺎت اﻟﻮب اﻟﺪﯾﻨﺎﻣﯿﻜﯿﺔ أو‬
‫ﺻﻔﺤﺎت اﻟﻮب اﻟﺘﻔﺎﻋﻠﯿﺔ ﻫﻮ ﻣﺎﻻ ﺗﻘﺪﻣﻪ ﻟﻐﺔ ‪. HTML‬‬

‫وﻻ ﻧﻨﺴﻰ ﻣﻦ اﻟﻨﻘﺎط اﻟﻤﻬﻤﺔ اﻟﺘﻲ ﯾﺠﺐ ﻣﻌﺮﻓﺘﻬﺎ أن ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﻜﺘﻮب ﺑﻠﻐﺔ ‪ Java Script‬ﻫﻮ ﻣﻦ‬
‫اﺧﺘﺼﺎص اﻟﻤﺘﺼﻔﺢ ) ‪ ( Browser‬و اﻟﺬي ﯾﻨﻔﺬﻫﺎ ﺳﻄﺮ ﺳﻄﺮ ) وﻫﺬا ﻣﺎ ﯾﻄﻠﻖ ﻋﻠﯿﻪ ‪ ( Interpreter‬وﻟﯿﺲ‬
‫ﻋﻦ ﻃﺮﯾﻖ ﺗﺮﺟﻤﺘﻬﺎ ﺗﺠﻤﯿﻌﯿﺎً وﻫﺬا ﻣﺎ ﯾﺤﺪث ﻓﻲ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﻋﺎﻟﯿﺔ اﻟﻤﺴﺘﻮى ) وﻫﺬا ﻣﺎ ﯾﻄﻠﻖ ﻋﻠﯿﻪ‬
‫‪.(Compiler‬‬

‫ﻣﺎ ﻫﻲ اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﺤﺘﺎﺟﻬﺎ ﻟﻜﺘﺎﺑﺔ ﺑﺮاﻣﺞ واﺧﺘﺒﺎرﻫﺎ‪.‬‬

‫اﻟﻤﻮﺿﻮع ﺑﻤﻨﺘﻬﺎ اﻟﺴﻬﻮﻟﺔ ﻓﻜﻞ ﻣﺎ ﺗﺤﺘﺎﺟﻪ ﻫﻮ ﻣﺎ ﯾﻠﻲ ‪:‬‬

‫‪ o‬ﻣﺤﺮر اﻟﻨﺼﻮص اﻟﻤﺮﻓﻖ ﻣﻊ اﻟﻮﯾﻨﺪوز ) ‪.( Notepad‬‬


‫‪ o‬ﻣﺘﺼﻔﺢ اﻹﻧﺘﺮﻧﺖ اﻟﻤﺮﻓﻖ ﻣﻊ ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ ﺳﻮاء ) ‪ ( Internet Explorer‬أو‬
‫) ‪ ( Netscape‬أو أي ﻣﺘﺼﻔﺢ ﯾﺪﻋﻢ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ‪.‬‬

‫ﻫﺬا ﻛﻞ ﺷﻲء ﻛﻞ ﻣﺎ ﺗﺤﺘﺎﺟﻪ ‪.‬‬

‫اﺳﺘﺨﺪام ‪: Java Script‬‬

‫ﺑﺮﻧﺎﻣﺞ ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻫﻮ ﺟﺰء ﯾﺘﻢ وﺿﻌﻪ داﺧﻞ ﻟﻐﺔ ‪ HTML‬ﻟﺰﯾﺎدة ﻓﺎﻋﻠﯿﺘﻬﺎ ﻓﻌﻨﺪ ﺗﺼﻔﺢ ﻣﻮﻗﻊ أو اﺳﺘﺪﻋﺎء‬
‫ﺻﻔﺤﺔ ﻣﺤﺪدة ﻣﻜﺘﻮب ﺑﺪاﺧﻠﻬﺎ ‪ Java Script code‬ﯾﺘﻢ إﻧﺰاﻟﻪ إﻟﻰ ﺟﻬﺎزك وﻋﻨﺪ ﺣﺪوث ﺣﺪث ﻣﻌﯿﻦ ﻣﺜﻞ‬
‫اﺳﺘﺪﻋﺎء ﺑﺮﻧﺎﻣﺞ ﺟﺎﻓﺎ ﻟﻠﺘﻨﻔﯿﺬ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر ﻣﻌﯿﻦ أو ﻋﻨﺪ ﺣﺮﻛﺔ ﻟﻠﻤﺎوس ﯾﺘﻢ ﺗﺮﺟﻤﺔ اﻟﺒﺮﻧﺎﻣﺞ وﺗﻨﻔﯿﺬه‬
‫ﺳﻄﺮ ﺑﺴﻄﺮ ﺣﺘﻰ ﯾﻨﺘﻬﻲ ﻛﻤﺎ ذﻛﺮﻧﺎ ﺳﺎﺑﻘﺎً‪.‬‬

‫‪١‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫اﻟﺸﻜﻞ اﻟﻌﺎم اﻟﺬي ﺳﯿﻜﻮن ﻋﻠﯿﻪ ﺑﺮﻧﺎﻣﺞ ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪:‬‬

‫>‪<HTML‬‬
‫>‪<HEAD‬‬
‫>‪<TITLE‬‬ ‫ﯾﺘﻢ ﻫﻨﺎ وﺿﻊ ﻋﻨﻮان اﻟﺼﻔﺤﺔ‬ ‫>‪</TITLE‬‬

‫>”‪<SCRIPT LANGUAGE=”JAVASCRIPT‬‬
‫‪<!--‬‬

‫ﺗﻌﻠﯿﻤﺎت اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺗﻮﺿﻊ ﻫﻨﺎ‬


‫> ‪--‬‬
‫>‪</SCRIPT‬‬
‫>‪</HEAD‬‬

‫>‪<BODY‬‬

‫ﺗﻌﻠﯿﻤﺎت أﻟـ‪ HTML‬ﯾﺘﻢ ﻛﺘﺎﺑﺘﻬﺎ ﻫﻨﺎ ﻓﻲ ﻫﺬه اﻟﻤﻨﻄﻘﺔ و أﯾﻀﺎ اﺳﺘﺪﻋﺎء ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ‬

‫>‪</BODY‬‬
‫>‪</HTML‬‬

‫ﻣﻼﺣﻈﺎت‪:‬‬

‫>”‪<SCRIPT LANGUAGE=”JAVASCRIPT‬‬
‫ﻫﺬا اﻟﺴﻄﺮ ﯾﺠﺐ أن ﯾﻜﻮن أول ﺳﻄﺮ ﻓﻲ أي ﻛﻮد )‪ (SCRIPT‬ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺣﯿﺚ أﻧﻪ ﯾﻨﺒﻪ اﻟﺠﺰء اﻟﺨﺎص‬
‫ﺑﺘﺮﺟﻤﺔ اﻟﺼﻔﺤﺔ ﺑﺄن ﻣﺎ ﺳﯿﺘﺒﻊ ﻫﺬا اﻷﻣﺮ ﻫﻮ ‪ Java Script‬وأن ﻋﻠﯿﻪ اﻻﺳﺘﻌﺪاد ﻟﺘﻨﻔﯿﺬ ﺑﺮﻧﺎﻣﺞ ﯾﺤﺘﻮي ﻋﻠﻰ‬
‫ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﺟﻤﻠﺔ ﺷﺮﻃﯿﻪ ) ‪ ( if else‬أو ﺟﻤﻠﺔ ﺗﻜﺮار ) ‪ ( Loop‬وﻏﯿﺮه ﻣﻦ اﻟﺠﻤﻞ و اﻟﺘﻲ ﯾﺤﺘﻮي ﻋﻠﯿﻬﺎ‬
‫أي ﺑﺮﻧﺎﻣﺞ ‪.‬‬
‫أن اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ ‪ <!--‬ﯾﻘﻮم ﺑﺈﺧﻔﺎء ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻦ اﻟﻤﺴﺘﻌﺮض أو اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﻻ ﯾﺪﻋﻢ ﻟﻐﺔ اﻟﺠﺎﻓﺎ‬
‫ﺳﻜﺮﯾﺒﺖ وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻜﻮد ﯾﺘﻢ وﺿﻊ اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ > ‪. --‬‬

‫>‪</SCRIPT‬‬

‫إذن ﻫﺬا ﻫﻮ آﺧﺮ ﺳﻄﺮ ﻓﻲ أي ﻛﻮد ‪ SCRIPT‬وﻫﺬه اﻟﺨﻄﻮة ﺗﻨﺒﻪ اﻟﻤﺘﺼﻔﺢ إﻟﻲ ﻧﻬﺎﯾﺔ اﻟﻜﻮد ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ‬
‫ﻓﻲ اﻟﺸﻜﻞ اﻟﻌﺎم ‪ ،‬ﻟﻨﺄﺧﺬ ﻣﺜﺎل ﻟﻜﻲ ﺗﺘﻀﺢ اﻟﺮؤﯾﺎ ‪.‬‬

‫‪٢‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫واﻟﯿﻚ ﻫﺬا اﻟﻤﺜﺎل اﻟﺒﺴﯿﻂ ‪:‬‬

‫ﻓﻲ اﻟﺒﺪاﯾﺔ ﺳﻮف ﻧﻘﻮم ﺑﺸﺮح ﻫﺬا اﻟﻜﻮد ﺛﻢ ﻧﻘﻮم ﺑﺸﺮح ﺧﻄﻮات ﺗﻨﻔﯿﺬه ﻻﺣﻘﺎ ﻟﻨﺒﺪاء اﻵن‪.‬‬

‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html‬‬
‫‪٢‬‬ ‫>‪<head‬‬
‫‪٣‬‬ ‫>‪<title>First Example</title‬‬
‫‪٤‬‬ ‫>‪</head‬‬
‫‪٥‬‬ ‫>‪<body bgcolor=#f0f0f0‬‬
‫‪٦‬‬ ‫>"‪<SCRIPT LANGUAGE="javascript‬‬
‫‪٧‬‬ ‫‪<!--‬‬
‫‪٨‬‬ ‫)">‪document.write("<FONT COLOR='Red'>Welcome To Java script</FONT‬‬
‫‪٩‬‬ ‫>‪</Script‬‬
‫‪١٠‬‬ ‫>‪--‬‬
‫‪١١‬‬ ‫>‪</body‬‬
‫‪١٢‬‬ ‫>‪</html‬‬

‫و اﻟﺬي ﯾﺪل‬ ‫>‪</html‬‬ ‫‪ -١‬أوﻻ ﯾﺘﻢ وﺿﻊ ‪ tag‬اﻟﻤﺴﻤﻰ واﻟﺬي ﯾﺪل ﻋﻠﻰ ﺑﺪاﯾﺔ اﻟﺼﻔﺤﺔ >‪ <html‬واﻟـ ‪tag‬‬
‫ﻋﻠﻰ ﻧﻬﺎﯾﺔ اﻟﺼﻔﺤﺔ وﯾﺘﻢ وﺿﻊ ﺑﺎﻗﻲ اﻷواﻣﺮ ﻟﻐﺔ ‪.HTML‬‬

‫و‬ ‫>‪<title‬‬ ‫‪٢‬و‪ ٣‬و‪ <head> -٤‬و >‪ </head‬ﯾﻮﺿﻊ ﺑﯿﻨﻬﻤﺎ ﻋﻨﻮان اﻟﺼﻔﺤﺔ ‪ .‬وأﻣﺎ ﺑﺎﻟﻨﺴﺒﺔ ﻟـ‬
‫>‪ </title‬ﺗﺘﯿﺢ ﻟﻚ ﻫﺬه اﻟﻌﻼﻣﺔ أن ﺗﻌﻄﻲ اﻟﺼﻔﺤﺔ ﻋﻨﻮاﻧﺎ واﺿﺤﺎ ﻣﻤﯿﺰا وﯾﻈﻬﺮ ﻫﺬا اﻟﻌﻨﻮان ﻋﻠﻰ ﻧﺎﻓﺬة‬
‫اﻟﻤﺴﺘﻌﺮض وﯾﺠﺐ أن ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻌﻨﻮان ﻋﻠﻰ ﺣﺮوف و أرﻗﺎم ﻓﻘﻂ‪.‬‬

‫‪ <body bgcolor=#f0f0f0> -٥‬و >‪ </body‬ﺣﯿﺚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ داﺧﻞ ﻫﺬا اﻟﺠﺰء ﻣﺤﺘﻮﯾﺎت ﺻﻔﺤﺔ اﻟﻮﯾﺐ‬
‫اﻟﻔﻌﻠﯿﺔ ﻣﺜﻞ اﻟﺠﺪاول و اﻟﻨﻤﺎذج و اﻟﺼﻮر و اﻟﺘﻲ ﺳﯿﺮاﻫﺎ اﻟﺰوار ﻟﻬﺬه اﻟﺼﻔﺤﺔ أﻣﺎ ﺟﺰﺋﯿﺔ‬
‫‪ bgcolor=#f0f0f0‬ﻓﻬﻲ ﺗﻘﻮم ﺑﻮﺿﻊ ﻟﻮن ﻟﺼﻔﺤﺔ اﻟﻮﯾﺐ و أن اﻟﻘﯿﻤﺔ ‪ #f0f0f0‬ﻫﻲ ﻗﯿﻤﺔ اﻟﻠﻮن ﺑﺎﻟﻨﻈﺎم‬
‫اﻟﺴﺖ ﻋﺸﺮي‪.‬‬

‫‪ -٦‬ﻫﺬا اﻟﺴﻄﺮ ﯾﺠﺐ أن ﯾﻜﻮن أول ﺳﻄﺮ ﻓﻲ أي ﻛﻮد ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺣﯿﺚ أﻧﻪ ﯾﻨﺒﻪ اﻟﻤﺘﺼﻔﺢ ﺑﺄن ﻣﺎ ﺳﯿﺘﺒﻊ ﻫﺬا‬
‫اﻷﻣﺮ ﻫﻮ ‪ Javascript‬ﻛﻤﺎ ﺗﻢ ﺷﺮﺣﻪ ﻓﻲ اﻟﺼﻔﺤﺔ اﻟﺴﺎﺑﻘﺔ ‪.‬‬

‫‪ ٧‬و‪ -١٠‬ﻛﻤﺎ ذﻛﺮا ﺳﺎﺑﻘﺎ ﻓﺄن اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ ‪ <!--‬ﯾﻘﻮم ﺑﺈﺧﻔﺎء ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻦ اﻟﻤﺴﺘﻌﺮض أو‬
‫اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﻻ ﯾﺪﻋﻢ ﻟﻐﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻜﻮد ﯾﺘﻢ وﺿﻊ اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ > ‪. --‬‬

‫‪ -٨‬اﻟﻌﺒﺎرة )">‪ document.write("<FONT COLOR='Red'>Welcome To Java script</FONT‬و ﻓﻲ‬


‫ﻫﺬا اﻟﺴﻄﺮ ﯾﺘﻢ إﺳﺘﺨﺪام اﻟﻜﺎﺋﻦ )‪ (document‬وذﻟﻚ ﻟﻜﺘﺎﺑﺔ ﻋﻦ ﻃﺮﯾﻖ اﻟﺪاﻟﺔ )‪ (write‬ﻣﺎ ﺑﺪاﺧﻞ اﻷﻗﻮاس ‪.‬‬
‫وﻣﺎ ﺑﺪاﺧﻞ اﻷﻗﻮاس ﻫﻮ ﻋﺒﺎرة ﻋﻦ أﻣﺮ ﻋﺎدي ﻣﻦ أواﻣﺮ ‪ HTML‬اﻟﺬي ﯾﺄﻣﺮ اﻟﻤﺘﺼﻔﺢ ﺑﺈﻇﻬﺎر اﻟﺠﻤﻠﺔ "‬
‫‪ " Welcome To Java script‬ﺑﺎﻟﻠﻮن اﻷﺣﻤﺮ ‪ .‬إذن ﻓﺈن ﻣﻦ ﻗﺎم ﺑﺄﻣﺮ اﻟﻤﺘﺼﻔﺢ ﺑﺈﻇﻬﺎر اﻟﺠﻤﻠﺔ ﺑﺎﻟﻠﻮن اﻷﺣﻤﺮ‬
‫ﻫﻮ اﻟـ ‪ HTML‬وﻟﯿﺲ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪ . !!..‬وﻟﻜﻨﻨﺎ ﻫﻨﺎ ﻋﺮﻓﻨﺎ أﻧﻪ ﻣﻦ اﻟﻤﻤﻜﻦ ﻛﺘﺎﺑﺔ أواﻣﺮ اﻟـ ‪ HTML‬داﺧﻞ‬
‫أواﻣﺮ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪ ،‬ﯾﺠﺐ أن ﺗﻀﻊ ﻫﺬه اﻟﻤﻌﻠﻮﻣﺔ ﻓﻲ ذاﻛﺮﺗﻚ ‪.‬‬

‫وﻫﻮ اﻟﺬي ﯾﺪل اﻟﻤﺘﺼﻔﺢ أﻧﻪ ﻧﻬﺎﯾﺔ ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ ‪.‬‬ ‫>‪</Script‬‬ ‫‪-٩‬‬

‫وأﯾﻀﺎ ﯾﺘﻢ ﻏﻠﻖ اﻟﻜﻮد اﻟﺨﺎص ﺑﺎﻟﺼﻔﺤﺔ‬ ‫>‪</body‬‬ ‫ﺑﺎﺳﺘﺨﺪام‬ ‫>‪<body‬‬ ‫‪١١‬و‪ -١٢‬ﯾﺘﻢ إﻏﻼق ﺟﺴﻢ اﻟﺼﻔﺤﺔ‬
‫>‪ <html‬ﺑﺎﺳﺘﺨﺪام >‪. </html‬‬

‫‪٣‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻣﻼﺣﻈﺎت ﯾﺠﺐ ﻣﺮاﻋﺎﺗﻬﺎ ‪:‬‬

‫ﻻﺣﻆ ﻫﻨﺎ ﺟﯿﺪا ﺷﻜﻞ اﻷﻣﺮ ‪:‬‬

‫)">‪document.write("<FONT COLOR='Red'>Welcome To Java script</FONT‬‬

‫ﺷﻜﻞ اﻷﻣﺮ ﻫﻜﺬا وﯾﺠﺐ أن ﯾﻜﻮن داﺋﻤﺎ ﻫﻜﺬا ‪ ...‬دﻋﻨﺎ ﻧﻔﺮض أﻧﻚ ﻧﺴﺨﺖ ﻫﺬا اﻟﻜﻮد )‪ (SCRIPT‬وﻟﺼﻘﺘﻪ ﻓﻲ‬
‫ﻣﻌﺎﻟﺞ ﻧﺼﻮص ذو ﺣﺪود ﺿﯿﻘﺔ ‪ ...‬ﺑﻤﻌﻨﻲ أﻧﻚ ﻋﻨﺪﻣﺎ ﻟﺼﻘﺘﻪ ﻇﻬﺮ ﻫﻜﺬا ‪:‬‬

‫>‪document . write("<FONT COLOR='Red'>Welcome To Java script</FONT‬‬

‫)"‬

‫ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ أﻧﺖ ﻏﯿﺮت ﺷﻜﻞ اﻷﻣﺮ )ﻻﺣﻆ أن اﻟﻘﻮس اﻟﺬي ﯾﻨﻬﻲ اﻷﻣﺮ ﻗﺪ أﻧﺘﻘﻞ ﺳﻄﺮا ﻷﺳﻔﻞ( وﻟﻦ ﯾﻌﻤﻞ ﻫﺬا‬
‫اﻟﻜﻮد وﯾﻜﻮن ﻗﺪ ﺣﺪث ﺧﻄﺄ ‪.‬إذا ﻓﻔﻲ أﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﯾﺠﺐ ﻣﺮاﻋﺎة اﻟﺸﻜﻞ واﻟﻤﺴﺎﻓﺎت ﻋﻠﻲ ﻋﻜﺲ‬
‫اﻟـ ‪.HTML‬‬

‫أﻫﻢ اﻟﻨﻘﺎط اﻟﻤﺴﺘﻔﺎدة ﻣﻦ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ‪:‬‬

‫ﻋﻨﺪ ﻛﺘﺎﺑﺔ ﻛﻮد ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﯾﺠﺐ أن ﻧﺒﺪأ داﺋﻤﺎ ﺑـﺎﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬‬ ‫•‬

‫>"‪<SCRIPT LANGUAGE="javascript‬‬

‫وﯾﻨﺘﻬﻲ ﺑﺎﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫>‪</SCRIPT‬‬

‫ﺑﯿﻦ ﻋﻼﻣﺘﻲ اﻟﺘﻨﺼﯿﺺ اﻟﻤﺰدوﺟﺔ اﺳﺘﺨﺪم ﻋﻼﻣﺎت ﺗﻨﺼﯿﺺ ﻣﻔﺮدة ﻋﻨﺪ اﻟﺤﺎﺟﺔ ‪.‬‬ ‫•‬

‫أﺣﺪ أﺷﻜﺎل اﻷﻣﺮ ﻓﻲ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻫﻮ ‪:‬‬ ‫•‬

‫أن ﻧﺒﺪأ ﺑﺎﻟﻜﺎﺋﻦ )‪ (Object‬اﻟﺬي ﻧﺮﯾﺪ إﺟﺮاء اﻷﻣﺮ ﻋﻠﯿﻪ ﺛﻢ ﺑﻌﺪ اﻟﻜﺎﺋﻦ ﯾﺄﺗﻲ اﻟﻨﻬﺞ )‪ (Method‬اﻟﺬي ﻧﺮﯾﺪ‬
‫ﺗﻄﺒﯿﻘﻪ ﻋﻠﻲ اﻟﻜﺎﺋﻦ ‪ ..‬وﯾﺘﺒﻊ اﻟﻨﻬﺞ داﺋﻤﺎ أﻗﻮاس ﺗﺤﺘﻮي ﻋﻠﻲ ﻣﺎ ﺳﯿﺤﺪث ﻓﻲ اﻟﻜﺎﺋﻦ )‪ (Object‬ﻋﻨﺪ ﺗﻄﺒﯿﻖ‬
‫اﻟﻨﻬﺞ )‪ (Method‬ﻋﻠﯿﻪ ‪ .‬ﻓﻲ ﻣﺜﺎﻟﻨﺎ ﺑﺄﻋﻠﻲ ‪ ...‬اﻟﻜﺎﺋﻦ ﻫﻮ )‪ (document‬واﻟﻨﻬﺞ ﻫﻮ )‪ ..... (write‬إذاً‬
‫ﻋﻨﺪﻣﺎ ﻧﺮﯾﺪ ﻛﺘﺎﺑﺔ ﺷﻲء ﻓﻲ ﺻﻔﺤﺔ اﻟﻮﯾﺐ ﻧﺴﺘﺨﺪم اﻟﻨﻬﺞ )‪ (write‬داﺋﻤﺎ وﻧﻀﻊ ﺑﯿﻦ اﻷﻗﻮاس ﻣﺎ ﻧﺮﯾﺪ ﻛﺘﺎﺑﺘﻪ‬
‫ﻓﻲ اﻟﺼﻔﺤﺔ ‪.‬‬

‫‪٤‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫واﻵن ﺟﺎء وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﻤﺜﺎل ﻋﻤﻠﯿﺎً ‪:‬‬

‫اﻟﻤﻮﺿﻮع ﻓﻲ ﻣﻨﺘﻬﻰ اﻟﺴﻬﻮﻟﺔ ﻗﻢ ﺑﺄﻋﺪاد اﻟﻜﻮد أو أﻧﻘﻠﻪ إﻟﻰ اﻟﻤﻔﻜﺮة ) ‪ ( Notpad‬وﻫﻲ ﻣﺤﺮر اﻟﻨﺼﻮص‬
‫اﻟﻤﺮﻓﻖ ﻣﻊ اﻟﻮﯾﻨﺪوز‪.‬‬

‫ﻓﻲ ﻫﺬه اﻟﻤﻨﻄﻘﺔ‬


‫ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻟـ‬
‫‪ code‬اﻟﺨﺎص‬
‫ﺑﺎﻟﺼﻔﺤﺔ‬

‫ﺛﻢ اﺣﻔﻆ اﻟﻤﻠﻒ ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻣﺘﺪاد اﻟﻤﻠﻒ ﻣﻦ اﻻﻣﺘﺪاد ‪ txt‬إﻟﻰ اﻻﻣﺘﺪاد ‪ htm‬أو اﻻﻣﺘﺪاد ‪. html‬‬

‫ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﺳﻢ‬


‫اﻟﻤﻠﻒ ﻣﻊ اﻻﻣﺘﺪاد‬

‫إذا ﺗﺤﻮل ﺷﻜﻞ أﯾﻘﻮﻧﺔ ﻣﻦ ﺷﻜﻞ أﯾﻘﻮﻧﺔ اﻟﻤﻔﻜﺮة ) ‪ ( Notpad‬إﻟﻰ ﺷﻜﻞ أﯾﻘﻮﻧﺔ ﻣﺘﺼﻔﺢ اﻹﻧﺘﺮﻧﺖ اﻟﺬي‬
‫ﺗﺴﺘﺨﺪﻣﻪ ﻛﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﺳﻔﻞ اﻟﺼﻔﺤﺔ ) ﻓﻲ اﻟﻤﺜﺎل اﺧﺘﺮﻧﺎ اﻟﻤﺘﺼﻔﺢ إﻧﺘﺮﻧﺖ إﻛﺴﺒﻠﻮرر ( ﻓﻤﻌﻨﻰ ذﻟﻚ أن اﻟﻌﻤﻠﯿﺔ‬
‫ﻧﺠﺤﺖ ﻓﻘﻂ اﻓﺘﺢ اﻟﻤﻠﻒ ﺑﻤﺘﺼﻔﺢ اﻹﻧﺘﺮﻧﺖ وﺳﯿﺘﻢ اﻟﺘﻨﻔﯿﺬ ‪.‬‬

‫ﺷﻜﻞ اﻟﻤﻠﻒ اﻟﺬي اﻣﺘﺪاده ‪thml‬‬ ‫ﺷﻜﻞ اﻟﻤﻠﻒ اﻟﺬي اﻣﺘﺪاده ‪txt‬‬

‫‪٥‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻛﯿﻒ ﺗﺘﻢ ﻋﻤﻠﯿﺔ اﻟﺘﻌﺪﯾﻞ‬

‫ﻋﻤﻠﯿﺔ اﻟﺘﻌﺪﯾﻞ اﺑﺴﻂ ﻣﻤﺎ ﺳﺒﻖ ﻟﻨﻔﺮض أﻧﻚ ﺗﺴﺘﺨﺪم إﻧﺘﺮﻧﺖ اﻛﺴﺒﻠﻮرر وﻟﻢ ﯾﻌﺠﺒﻚ ﺗﻨﻔﯿﺬ ﺑﺮﻧﺎﻣﺠﻚ أو ﺗﺮى ﺗﻌﺪﯾﻞ‬
‫ﺷﺊ أو إﺿﺎﻓﺔ ﺷﺊ آﺧﺮ ﻟﺘﺤﺴﯿﻦ أداء اﻟﺒﺮﻧﺎﻣﺞ ﯾﺘﻢ ذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﻓﺘﺢ اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﺗﺴﺘﺨﺪﻣﻪ وﻣﻦ اﻟﻘﺎﺋﻤﺔ‬
‫اﻟﻤﻨﺴﺪﻟﺔ ﻧﺨﺘﺎر اﻟﻘﺎﺋﻤﺔ ﻋﺮض ﺛﻢ ﻧﺨﺘﺎر اﻷﻣﺮ ﻋﺮض اﻟﻤﺼﺪر أﻣﺎ إذا ﻛﺎن اﻟﻤﺘﺼﻔﺢ ﺑﺎﻟﻠﻐﺔ اﻹﻧﺠﻠﯿﺰﯾﺔ ﻓﺴﯿﻜﻮن‬
‫اﺧﺘﯿﺎر اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ ‪ View‬ﺛﻢ ﻧﺨﺘﺎر اﻷﻣﺮ ‪. source‬‬

‫اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ ﻋﺮض‬

‫ﻣﺎ ﺳﯿﻈﻬﺮ ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﻌﺒﺎرة‬


‫"(‪document.write‬‬
‫>'‪<FONTCOLOR='Red‬‬
‫‪Welcome To Java‬‬ ‫اﻟﺰر ﻋﺮض اﻟﻤﺼﺪر‬
‫)">‪script</FONT‬‬

‫ﺗﻔﺘﺢ اﻟﻤﻔﻜﺮة ) ‪( Notpad‬آﻟﯿﺎ وﯾﻈﻬﺮ ﻟﻚ اﻟﻜﻮد اﻟﺬي ﻛﺘﺒﺘﻪ ﻗﻢ ﺑﻌﻤﻞ اﻟﺘﻌﺪﯾﻞ واﺣﻔﻆ اﻟﻤﻠﻒ ﺑﺎﻟﻤﻔﻜﺮة‬
‫) ‪ ( Notpad‬ﺛﻢ اﻏﻠﻖ اﻟﻤﻔﻜﺮة ) ‪.( Notpad‬‬

‫ﯾﺘﻢ ﻇﻬﻮر اﻟـ ‪code‬‬


‫اﻟﺨﺎص ﺑﺎﻟﺼﻔﺤﺔ ‪.‬‬

‫ﻋﻠﻰ اﻟﻤﺘﺼﻔﺢ واﻟﺬي ﻣﻦ اﻟﻤﻔﺘﺮض أن ﺻﻔﺤﺘﻚ اﻟﺘﻲ ﺗﺤﻮي اﻟﺒﺮﻧﺎﻣﺞ ﻣﺎزاﻟﺖ ﻇﺎﻫﺮة أﻣﺎﻣﻚ ﺑﺎﻟﻄﺒﻊ ﻗﺒﻞ اﻟﺘﻌﺪﯾﻞ‬
‫ﻗﻢ ﺑﻀﻐﻂ أﯾﻘﻮﻧﺔ ‪ Refresh‬أو ﻣﻔﺘﺎح ‪ F5‬أو ﻣﻦ ﻗﺎﺋﻤﺔ ﻋﺮض اﻟﻤﻮﺟﻮدة ﻓﻲ أﻋﻠﻰ اﻟﻤﺘﺼﻔﺢ ﻧﺨﺘﺎر أﻣﺮ‬
‫ﺗﺤﺪﯾﺚ ﺳﯿﺘﻢ ﺗﺤﻤﯿﻞ اﻟﻨﺴﺨﺔ اﻟﻤﻌﺪﻟﺔ ‪.‬‬

‫‪٦‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫رﺳﺎﺋﻞ اﻟﺨﻄﺄ‬

‫رﺳﺎﺋﻞ اﻟﺨﻄﺄ ﺗﺤﺪث ﻛﺜﯿﺮا ﻓﻲ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪ .‬ﻓﻜﻠﻤﺎ ﺑﻨﯿﺖ ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ووﺿﻌﺘﻪ ﻓﻲ ﺻﻔﺤﺔ اﻟﻮب وﻇﻨﻨﺖ أن‬
‫ﻛﻞ ﺷﻲء ﻋﻠﻲ ﻣﺎ ﯾﺮام ‪ ...‬ﻓﺠﺄة ﺗﺠﺪ أﺣﺪ رﺳﺎﺋﻞ اﻟﺨﻄﺄ ﻇﺎﻫﺮة أﻣﺎﻣﻚ وﺗﺆﻛﺪ ﻟﻚ أن ﻫﻨﺎك ﺷﻲء ﻟﯿﺲ ﻋﻠﻲ ﻣﺎ‬
‫ﯾﺮام ‪.‬‬

‫ﻫﻨﺎك ﻧﻮﻋﺎن رﺋﯿﺴﯿﺎن ﻣﻦ اﻷﺧﻄﺎء اﻟﺘﻲ ﯾﻤﻜﻦ أن ﺗﺤﺪث ﻓﻲ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪ ...‬ﻫﻤﺎ ‪ :‬اﻷﺧﻄﺎء اﻟﺘﻲ ﺗﻨﺘﺞ ﻋﻦ‬
‫اﻟﺨﻄﺄ ﻓﻲ اﻟﻜﺘﺎﺑﺔ ﻛﺎﻷﺧﻄﺎء اﻹﻣﻼﺋﯿﺔ أو أﻧﻚ وﺿﻌﺖ ﻋﻼﻣﺔ ﺗﻨﺼﯿﺺ ﻣﺰدوﺟﺔ ﺑﯿﻨﻤﺎ ﻛﺎن ﯾﺠﺐ وﺿﻊ ﻋﻼﻣﺔ‬
‫ﻣﻔﺮدة ‪ ..‬وﺗﺴﻤﻲ ﺗﻠﻚ اﻷﺧﻄﺎء )‪ (& Syntax errors‬أو اﻷﺧﻄﺎء اﻟﻨﺎﺗﺠﺔ ﻋﻦ اﺳﺘﺨﺪام أﻣﺮ ﻓﻲ ﻏﯿﺮ‬
‫ﻣﻮﺿﻌﻪ ﺑﺤﯿﺚ ﯾﻜﻮن ﻏﯿﺮ ﻣﺘﻨﺎﺳﻖ ﻣﻊ ﺑﺎﻗﻲ أواﻣﺮ اﻟﻜﻮد وﺗﺴﻤﻲ )‪ . (Run-Time errors‬أﯾﺎ ﻛﺎن ﻧﻮع‬
‫اﻟﺨﻄﺄ ﻓﻜﻼﻫﻤﺎ ﯾﻌﻨﻲ أن ﻫﻨﺎك ﺷﻲء ﻟﯿﺲ ﻋﻠﻲ ﻣﺎ ﯾﺮام ‪.‬‬
‫ﻫﻨﺎك اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺒﺮاﻣﺞ اﻟﺠﺎﻫﺰة اﻟﺘﻲ ﺗﻤﻜﻨﻚ ﻣﻦ ﻣﻌﺎﻟﺠﺔ ﺗﻠﻚ اﻷﺧﻄﺎء ‪ .‬وﻟﻜﻨﻲ أﻓﻀﻞ أن ﺗﻔﻌﻞ ذﻟﻚ ﺑﻨﻔﺴﻚ ﻓﻬﻲ‬
‫ﻓﻲ اﻟﺤﻘﯿﻘﺔ أﺳﻬﻞ ﻣﻤﺎ ﺗﻈﻦ ‪.‬‬

‫ﻛﯿﻒ ﻧﻌﺎﻟﺞ و ﻧﺘﻼﻓﻰ اﻷﺧﻄﺎء ؟‬

‫ﯾﻘﺎل أن أﻓﻀﻞ ﻃﺮﯾﻘﺔ ﻟﻤﻌﺎﻟﺠﺔ اﻷﺧﻄﺎء ﻫﻮ ﺗﻼﻓﯿﻬﺎ‪ .‬ﻋﻠﻲ ﻛﻞ ﺣﺎل ﯾﻤﻜﻨﻚ ﺗﻘﻠﯿﻞ اﺣﺘﻤﺎﻻت ﻇﻬﻮر اﻟﺨﻄﺄ ﺑﺄن‬
‫ﺗﺴﺘﺨﺪم ﻣﺤﺮر ﻧﺼﻮص )اﻟﺬي ﺗﺴﺘﺨﺪﻣﻪ ﻓﻲ ﺗﺤﺮﯾﺮ اﻟـ ‪ ( HTML‬ﻟﯿﺴﺖ ﻟﻪ ﺣﺪود ‪ .‬ﺑﻤﻌﻨﻲ أﻧﻪ ﻋﻨﺪ ﻛﺘﺎﺑﺔ أﻣﺮ‬
‫ﻣﻦ أواﻣﺮ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻻ ﯾﻨﺘﻘﻞ ﺟﺰء ﻣﻦ اﻷﻣﺮ ﻟﻠﺴﻄﺮ اﻟﺘﺎﻟﻲ ﻧﻈﺮا ﻟﻀﯿﻖ ﺣﺪود ﻣﺤﺮر اﻟﻨﺼﻮص ‪ .‬إذن أﻛﺘﺐ‬
‫ﻛﻞ أﻣﺮ ﻣﻦ أواﻣﺮ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻓﻲ ﺳﻄﺮ واﺣﺪ ﻓﻼ ﯾﻮﺟﺪ داﻋﻲ ﻟﺘﻘﺴﯿﻢ اﻷﻣﺮ اﻟﻄﻮﯾﻞ ﻧﺴﺒﯿﺎ ﻋﻠﻲ ﺳﻄﺮﯾﻦ ﻓﺬﻟﻚ‬
‫ﯾﻤﻜﻦ أن ﯾﺆدي ﻟﻠﻌﺪﯾﺪ ﻣﻦ اﻷﺧﻄﺎء ‪ .‬إذا أﺧﺬت ذﻟﻚ ﻓﻲ اﻻﻋﺘﺒﺎر ﺗﻜﻮن ﻗﺪ ﺗﻼﻓﯿﺖ اﻟﻌﺪﯾﺪ ﻣﻦ رﺳﺎﺋﻞ اﻟﺨﻄﺄ اﻟﺘﻲ‬
‫ﯾﻤﻜﻦ أن ﺗﻀﺎﯾﻘﻚ ‪.‬‬
‫ﻧﺄﺗﻲ اﻵن ﻟﻜﯿﻔﯿﺔ ﻋﻼج اﻷﺧﻄﺎء ‪ ..‬أﺟﻤﻞ ﺷﻲء ﻓﻲ أﺧﻄﺎء اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻫﻲ أﻧﻪ ﻋﻨﺪ ﺣﺪوث ﺧﻄﺄ ﻣﺎ ﯾﻈﻬﺮ ﻟﻚ‬
‫ﺻﻨﺪوق رﺳﺎﺋﻞ ﯾﻮﺿﺢ ﻟﻚ ﻣﺎ ﻫﻮ اﻟﺨﻄﺄ وأﯾﻦ وﻗﻊ ذﻟﻚ اﻟﺨﻄﺄ )ﻓﻘﻂ ﻣﻊ ﻣﺘﺼﻔﺢ ﻧﯿﺘﺴﻜﯿﺐ( ‪ .‬ﺣﯿﺚ ﯾﻮﺿﺢ ﻟﻚ‬
‫رﻗﻢ اﻟﺴﻄﺮ اﻟﺬي وﻗﻊ ﻓﯿﻪ اﻟﺨﻄﺄ ‪ ..‬وﻟﻜﻲ ﺗﺼﻞ ﻟﻠﺴﻄﺮ اﻟﺬي وﻗﻊ ﺑﻪ اﻟﺨﻄﺄ أﺑﺪأ ﻋﺪ اﻟﺴﻄﻮر ﻣﻦ أول ﺳﻄﺮ ﻓﻲ‬
‫اﻟـ ‪ HTML‬وﻟﯿﺲ ﻣﻦ أول ﺳﻄﺮ ﻓﻲ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻊ ﻋﺪ ﺟﻤﯿﻊ اﻷﺳﻄﺮ ﺷﺎﻣﻠﺔ اﻟﺴﻄﻮر اﻟﺒﯿﻀﺎء ‪.‬‬

‫اﻷﺧﻄﺎء اﻟﻤﺮﻛﺒﺔ ‪:‬‬

‫ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ﺗﻈﻬﺮ أﻣﺎﻣﻚ اﻟﻌﺪﯾﺪ ﻣﻦ رﺳﺎﺋﻞ اﻟﺨﻄﺄ اﻟﻤﺘﺘﺎﺑﻌﺔ ﻋﻨﺪ ﺗﺤﻤﯿﻞ ﺻﻔﺤﺔ اﻟﻮﯾﺐ اﻟﺤﺎوﯾﺔ ﻋﻠﻲ ﺟﺎﻓﺎ‬
‫ﺳﻜﺮﯾﺒﺖ ‪ .‬وﻟﯿﺲ ﻣﻌﻨﻲ ذﻟﻚ ﺑﺎﻟﻀﺮورة أن ﻫﻨﺎك اﻟﻌﺪﯾﺪ ﻣﻦ اﻷﺧﻄﺎء ﻓﻲ أواﻣﺮ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ‪ ..‬ﻓﺮﺑﻤﺎ ﻛﺎﻧﺖ ﻛﻞ‬
‫ﻫﺬه اﻷﺧﻄﺎء ﻧﺘﯿﺠﺔ ﻟﺤﺪوث اﻷﺧﻄﺎء ﻓﻲ اﻟﺴﻄﻮر اﻷوﻟﻲ ‪ .‬ﻟﺬﻟﻚ ﻋﺎﻟﺞ اﻷﺧﻄﺎء ﻓﻲ اﻟﻜﻮد )‪ (SCRIPT‬ﺑﺎﻟﺘﺮﺗﯿﺐ‬
‫ﻣﻦ أﻋﻠﻲ ﻷﺳﻔﻞ ‪ .‬ﻓﻔﻲ ﻛﺜﯿﺮ ﻣﻦ اﻷﺣﯿﺎن ﺗﻈﻬﺮ ﻟﻚ ‪ ٢٠‬رﺳﺎﻟﺔ ﺧﻄﺄ وﻋﻨﺪﻣﺎ ﺗﻌﺎﻟﺞ أول ﺧﻄﺄ ﺗﺠﺪ ﻧﻔﺴﻚ ﻗﺪ‬
‫ﻋﺎﻟﺠﺖ ﺟﻤﯿﻊ اﻟﻤﺸﻜﻼت ‪.‬‬
‫ﻻ ﯾﻮﺟﺪ ﻣﺎ ﯾﻤﻜﻦ أن ﯾﻘﺎل ﻋﻦ اﻷﺧﻄﺎء ﺣﺎﻟﯿﺎ أﻛﺜﺮ ﻣﻦ ذﻟﻚ ﻓﺄﻧﺖ اﻵن أﺻﺒﺤﺖ ﺗﻌﺮف ﻛﯿﻒ ﺗﻌﺎﻟﺞ ‪ %٩٩‬ﻣﻦ‬
‫اﻟﻤﺸﻜﻼت و اﻷﺧﻄﺎء اﻟﺘﻲ ﯾﻤﻜﻦ أن ﺗﺤﺪث ‪.‬ﻓﻘﻂ ﺗﺬﻛﺮ داﺋﻤﺎ أﻧﻪ ﻻﺑﺪ ﻣﻦ ﺣﺪوث أﺧﻄﺎء ﻓﺈذا ﻟﻢ ﺗﻈﻬﺮ ﻟﻚ أي‬
‫رﺳﺎﻟﺔ ﺧﻄﺄ ﻓﻬﺬا ﻻ ﯾﻌﻨﻲ إﻻ أﻧﻚ ﻗﺪ ﺗﺮﻛﺖ اﻟﺼﻔﺤﺔ ﺑﯿﻀﺎء ﻟﯿﺲ ﺑﻬﺎ ﺷﻲء ‪.‬‬

‫‪٧‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫أﺳﺎﺳﯿﺎت ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ‬

‫اﻹﻋﻼن ﻋﻦ اﻟﻤﺘﻐﯿﺮات‬ ‫•‬

‫ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻻ ﺗﻬﺘﻢ ﺑﻨﻮع اﻟﻤﺘﻐﯿﺮ ﺳﻮاء ﻛﺄن ﺣﺮﻓﯿﺎ أو ﻋﺪد ﺻﺤﯿﺢ أو ﻋﺪد ﻋﺸﺮي وﻫﻮ ﻣﺎ ﻗﺪ ﯾﺮوق ﻟﻠﻜﺜﯿﺮ‬
‫ﻣﻦ اﻟﻤﺒﺘﺪﺋﯿﻦ ﻷﻧﻬﺎ ﺗﺘﺮﺟﻢ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﻓﻬﻲ ﻻ ﺗﻬﺘﻢ ﺑﺬﻟﻚ ﻓﻘﻂ ﯾﺴﺒﻖ اﻟﻤﺘﻐﯿﺮ ﺑﺎﻷﻣﺮ‬

‫‪var‬‬

‫أﻣﺜﻠﺔ‬

‫;‪var x‬‬

‫;‪var X‬‬

‫;‪var ww10‬‬

‫وﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ﻋﺪة ﻣﺘﻐﯿﺮات ﻋﻠﻰ ﺳﻄﺮ واﺣﺪ‬ ‫•‬

‫;‪var x , X , y , ww10‬‬

‫وﯾﻤﻜﻦ ﺗﺨﺼﯿﺺ ﻗﯿﻢ اﺑﺘﺪاﺋﯿﺔ ﻟﻠﻤﺘﻐﯿﺮات‬ ‫•‬

‫;‪var x = 5 , X = 7 , y = 17‬‬

‫اﻟﻤﻌﺎﻣﻼت اﻟﺤﺴﺎﺑﯿﺔ‬ ‫•‬

‫‪-‬‬ ‫اﻟﻄﺮح‬
‫‪++‬‬ ‫اﻟﺰﯾﺎدة ﺑﻤﻘﺪار واﺣﺪ‬
‫‪--‬‬ ‫اﻟﻨﻘﺼﺎن ﺑﻤﻘﺪار واﺣﺪ‬
‫*‬ ‫اﻟﻀﺮب‬
‫‪/‬‬ ‫اﻟﻘﺴﻤﺔ‬
‫‪%‬‬ ‫اﻟﻘﺴﻤﺔ ﺑﺎﻗﻲ‬
‫‪+‬‬ ‫اﻟﺠﻤﻊ‬

‫‪٨‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ‬ ‫•‬

‫!‬ ‫اﻟﻨﻔﻲ‬
‫<‬ ‫ﻣﻦ اﺻﻐﺮ‬
‫>‬ ‫ﻣﻦ اﻛﺒﺮ‬
‫=<‬ ‫اﺻﻐﺮ ﻣﻦ أو ﯾﺴﺎوي‬
‫=>‬ ‫اﻛﺒﺮ ﻣﻦ أو ﯾﺴﺎوي‬
‫=‬ ‫ﯾﺴﺎوي‬
‫=!‬ ‫ﻻ ﯾﺴﺎوي‬
‫&&‬ ‫و‬
‫||‬ ‫أو‬
‫‪?:‬‬ ‫ﺷﺮط‬

‫‪٩‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻋﺒﺎرات اﻟﺘﺤﻜﻢ‬

‫‪IF statement‬‬
‫اﻟﺘﺤﻜﻢ ﺑﺎﺳﺘﺨﺪام ‪ if‬اﻟﺸﺮﻃﯿﺔ ﻣﻊ وﺿﻊ ﺷﺮوط ﯾﺠﺐ ﺗﺤﻘﻘﻪ ﻟﻜﻲ ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺠﻤﻠﺔ‪.‬‬

‫اﻟﺼﻮرة اﻟﻌﺎﻣﺔ ﻟﻌﺒﺎرة اﻟﺘﺤﻜﻢ ‪ if‬اﻟﺸﺮﻃﯿﺔ ﻫﻮ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬

‫) ﯾﺘﻢ وﺿﻊ اﻟﺸﺮط ﻫﻨﺎ ( ‪If‬‬


‫{‬
‫ﯾﺘﻢ وﺿﻊ ﻫﻨﺎ اﻷواﻣﺮ أو اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﺗﺮﻏﺐ ﻓﻲ ﺗﻨﻔﯿﺬﻫﺎ ﻋﻨﺪ ﺗﺤﻘﻖ اﻟﺸﺮط‬
‫}‬

‫وﻵن ﺳﻮف ﻧﺄﺧﺬ ﻣﺜﺎل ﯾﺘﻢ ﺗﻮﺿﯿﺢ ﻣﺎ ﺳﺒﻖ ذﻛﺮه‪:‬‬


‫ﻣﺜﺎل ‪ -:‬ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﺳﻮف ﻧﻘﻮم ﻋﻤﻞ ﺑﺮﻧﺎﻣﺞ ﯾﺘﻢ ﻓﯿﻪ ﺣﺴﺎب ﻣﻜﻌﺐ ﻟﻌﺪد ﻣﺎ ﯾﺘﻢ ﺗﻌﺮﯾﻔﻪ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ‪.‬‬

‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html‬‬
‫‪٢‬‬ ‫>‪<head‬‬
‫‪٣‬‬ ‫>‪<title>Second Example</title‬‬
‫‪٤‬‬ ‫>‪</head‬‬
‫‪٥‬‬ ‫> ‪<body‬‬
‫‪٦‬‬ ‫>"‪<SCRIPT LANGUAGE="javascript‬‬
‫‪٧‬‬ ‫‪<!--‬‬
‫‪٨‬‬ ‫;‪var x=50‬‬
‫‪٩‬‬ ‫) ‪if ( x > 0‬‬ ‫‪// if test‬‬
‫‪١٠‬‬ ‫{‬
‫‪١١‬‬ ‫;) ‪y = ( x * x * x‬‬ ‫‪// 1: cube of x‬‬
‫‪١٢‬‬ ‫;)""‪document.write("y = "+y+" that is the cube of x when x = "+ x +‬‬
‫‪١٣‬‬ ‫}‬
‫‪١٤‬‬ ‫>‪--‬‬
‫‪١٥‬‬ ‫>‪</SCRIPT‬‬
‫‪١٦‬‬ ‫>‪</body‬‬
‫‪١٧‬‬ ‫>‪</html‬‬

‫و اﻟﺬي ﯾﺪل‬ ‫>‪</html‬‬ ‫‪ -١‬أوﻻ ﯾﺘﻢ وﺿﻊ ‪ tag‬اﻟﻤﺴﻤﻰ واﻟﺬي ﯾﺪل ﻋﻠﻰ ﺑﺪاﯾﺔ اﻟﺼﻔﺤﺔ >‪ <html‬واﻟـ ‪tag‬‬
‫ﻋﻠﻰ ﻧﻬﺎﯾﺔ اﻟﺼﻔﺤﺔ وﯾﺘﻢ وﺿﻊ ﺑﺎﻗﻲ اﻷواﻣﺮ ﻟﻐﺔ ‪.HTML‬‬

‫‪١٠‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪٢‬و‪ ٣‬و‪ <head> -٤‬و >‪ </head‬ﯾﻮﺿﻊ ﺑﯿﻨﻬﻤﺎ ﻋﻨﻮان اﻟﺼﻔﺤﺔ ‪ .‬وأﻣﺎ ﺑﺎﻟﻨﺴﺒﺔ ﻟـ >‪ <title‬و‬
‫>‪ </title‬ﺗﺘﯿﺢ ﻟﻚ ﻫﺬه اﻟﻌﻼﻣﺔ أن ﺗﻌﻄﻲ اﻟﺼﻔﺤﺔ ﻋﻨﻮاﻧﺎ واﺿﺤﺎ ﻣﻤﯿﺰا وﯾﻈﻬﺮ ﻫﺬا اﻟﻌﻨﻮان ﻋﻠﻰ ﻧﺎﻓﺬة‬
‫اﻟﻤﺴﺘﻌﺮض وﯾﺠﺐ أن ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻌﻨﻮان ﻋﻠﻰ ﺣﺮوف و أرﻗﺎم ﻓﻘﻂ‪.‬‬

‫‪ <body> -٥‬و >‪ </body‬ﺣﯿﺚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ داﺧﻞ ﻫﺬا اﻟﺠﺰء ﻣﺤﺘﻮﯾﺎت ﺻﻔﺤﺔ اﻟﻮب اﻟﻔﻌﻠﯿﺔ ﻣﺜﻞ اﻟﺠﺪاول و‬
‫اﻟﻨﻤﺎذج و اﻟﺼﻮر و اﻟﺘﻲ ﺳﯿﺮاﻫﺎ اﻟﺰوار ﻟﻬﺬه اﻟﺼﻔﺤﺔ ‪.‬‬

‫‪ -٦‬ﻫﺬا اﻟﺴﻄﺮ ﯾﺠﺐ أن ﯾﻜﻮن أول ﺳﻄﺮ ﻓﻲ أي ﻛﻮد ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻛﻤﺎ ذﻛﺮﻧﺎه ﻓﻲ اﻟﻤﺜﺎل اﻷول ﺣﯿﺚ أﻧﻪ ﯾﻨﺒﻪ‬
‫اﻟﻤﺘﺼﻔﺢ ﺑﺄن ﻣﺎ ﺳﯿﺘﺒﻊ ﻫﺬا اﻷﻣﺮ ﻫﻮ ‪. Javascript‬‬

‫‪ ٧‬و‪ -١٤‬اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ ‪ <!--‬ﯾﻘﻮم ﺑﺈﺧﻔﺎء ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻦ اﻟﻤﺴﺘﻌﺮض أو اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﻻ ﯾﺪﻋﻢ ﻟﻐﺔ‬
‫اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻜﻮد ﯾﺘﻢ وﺿﻊ اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ > ‪. --‬‬

‫وﺗﻢ إﻋﻄﺎءه اﻟﻘﯿﻤﺔ ‪.50‬‬ ‫‪x‬‬ ‫واﺳﻢ ﻫﺬا اﻟﻤﺘﻐﯿﺮ‬ ‫‪var‬‬ ‫‪-٨‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﺗﻢ ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ وذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﻜﻠﻤﺔ‬

‫‪ -٩‬ﻫﻨﺎ اﺳﺘﺨﺪﻣﻨﺎ ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪ if‬اﻟﺸﺮﻃﯿﺔ واﻟﺸﺮط اﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻤﺜﺎل ﻣﻌﻨﺎه إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬أﻛﺒﺮ‬
‫ﻣﻦ اﻟﺼﻔﺮ )أي ﻋﻨﺪ ﺗﺤﻘﻖ اﻟﺸﺮط ( ﻓﺈﻧﻪ ﯾﻨﻔﺬ اﻷواﻣﺮ اﻟﺘﻲ ﺑﻌﺪ ﺟﻤﻠﺔ ‪ if‬اﻟﺸﺮﻃﯿﺔ وﻗﺪ ﯾﺘﻢ وﺿﻊ اﻷﻗﻮاس }{‬
‫و ذﻟﻚ ﯾﺪل ﻋﻠﻰ أﻧﻪ ﯾﺠﺐ ﺗﻨﻔﯿﺬ ﻛﻞ اﻷواﻣﺮ اﻟﻤﻮﺟﻮدة ﺑﺪاﺧﻞ اﻷﻗﻮاس ‪.‬‬

‫‪١٠‬و‪ -١٣‬وﺿﻊ اﻷﻗﻮاس }{ ﺣﯿﺚ ﺗﻢ وﺿﻌﻬﺎ ﻋﻨﺪﻣﺎ ﻧﺮﯾﺪ أن ﻧﻨﻔﺬ أﻛﺜﺮ ﻣﻦ ﺟﻤﻠﺔ ﻋﻨﺪ ﺗﺤﻘﻖ ﺷﺮط ﻣﺎ وﻓﻲ‬
‫ﺣﺎﻟﺔ ﻋﺪم وﺿﻊ اﻻﻗﻮاس ﻓﺈن اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪ ﺗﺤﻘﻖ اﻟﺸﺮط اﻟﻤﻮﺟﻮد ﻓﻲ ﺣﻤﻠﺔ ‪ if‬ﺳﻮف ﯾﻘﻮم ﺑﺘﻨﻔﯿﺬ أول‬
‫ﺟﻤﻠﺔ ﺑﻌﺪ ‪ if‬وﻫﻮ ;) ‪. y = ( x * x * x‬‬

‫‪ -١١‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ وﺿﻊ اﻟﻌﻤﻠﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ وﻫﻲ ﻋﻤﻠﯿﺔ ﺗﻜﻌﯿﺐ اﻟﻤﺘﻐﯿﺮ ‪ x‬وذﻟﻚ ﺑﻀﺮب اﻟﻤﺘﻐﯿﺮ ﻓﻲ‬
‫ﻧﻔﺴﻪ ﺛﻼث ﻣﺮات وﻣﻦ ﺛﻢ وﺿﻊ اﻟﻨﺎﺗﺞ ﻣﻦ ﻫﺬه ا ﻟﻌﻤﻠﯿﺔ ﻓﻲ ﻣﺘﻐﯿﺮ ‪ y‬وﻻ ﻧﻨﺴﻰ وﺿﻊ ﻋﻼﻣﺔ اﻟﻔﺎﺻﻠﺔ‬
‫اﻟﻤﻨﻘﻮﻃﺔ ﻓﻲ ﻧﻬﺎﯾﺔ اﻟﺠﻤﻠﺔ ;) ‪. y = ( x * x * x‬‬
‫‪ -١٢‬اﻟﻌﺒﺎرة اﻟﺘﺎﻟﯿﺔ ﻫﻲ ﺷﺒﯿﻬﻪ ﺑﺎﻟﻤﺜﺎل اﻟﺬي ﺗﻢ ﺷﺮﺣﻪ ﻓﻲ اﻟﺼﻔﺤﺔ رﻗﻢ ‪ ٣‬وﻟﻜﻦ ﻫﻨﺎك ﺑﻌﺾ اﻟﻨﻘﺎط اﻟﺠﺪﯾﺪ‬
‫;)""‪ document.write("y = "+ y +" that is the cube of x when x = "+ x +‬و ﻓﻲ ﻫﺬا‬
‫اﻟﺴﻄﺮ ﯾﺘﻢ اﺳﺘﺨﺪام اﻟﻜﺎﺋﻦ ) ‪ ( document‬وذﻟﻚ ﻟﻜﺘﺎﺑﺔ ﻋﻦ ﻃﺮﯾﻖ اﻟﺪاﻟﺔ )‪ (write‬ﻣﺎ ﺑﺪاﺧﻞ اﻷﻗﻮاس ‪.‬‬
‫و ﺳﻮف ﻧﺸﺮح اﻟﺠﺰء اﻟﺘﺎﻟﻲ )""‪("y = "+ y +" that is the cube of x when x = "+ x +‬‬
‫ﻫﻨﺎ ﻧﻼﺣﻆ اﻟﺘﺎﻟﻲ ‪:‬‬
‫)" ﺟﻤﻠﺔ أو ﻧﺺ وﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻓﺮاغ "‪ +‬اﻟﻤﺘﻐﯿﺮ وﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ‪ "+ x‬ﺟﻤﻠﺔ أو ﻧﺺ"‪ +‬اﻟﻤﺘﻐﯿﺮ وﻓﻲ ﻫﺬا‬
‫اﻟﻤﺜﺎل ‪ "+ y‬ﻫﻨﺎ اﻟﻨﺺ اﻟﺬي ﺗﺮﯾﺪ ﻃﺒﺎﻋﺘﻪ وﻓﻲ ﻫﺬا اﻟﻤﺜﺎل = ‪(" y‬‬

‫إذا ﻧﺴﺘﻨﺘﺞ أﻧﻪ إذا أردﻧﺎ ﻃﺒﺎﻋﺔ ﻧﺺ أو ﺟﻤﻠﺔ ﻓﺈﻧﻪ ﯾﺘﻢ وﺿﻌﻬﺎ ﻓﻲ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ " " ‪.‬‬
‫‪. +‬‬ ‫و إذا أردﻧﺎ أن ﻧﻄﺒﻊ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ﯾﺘﻢ وﺿﻌﻪ ﺑﺪون ﻋﻼﻣﺔ ﺗﻨﺼﯿﺺ و ﻧﻀﻌﻪ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ‪+‬‬

‫‪١١‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪SWITCH‬‬

‫اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺠﻤﻠﺔ ‪ switch‬وﻫﻲ ‪:‬‬

‫)‪switch (n‬‬

‫{‬ ‫ﺑﺪاﯾﺔ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪switch‬‬


‫‪case 1:‬‬
‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬
‫;‪break‬‬

‫‪case 2:‬‬
‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬
‫;‪break‬‬

‫‪case 3:‬‬
‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬
‫;‪break‬‬

‫‪case 4:‬‬
‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬
‫;‪break‬‬

‫‪default :‬‬
‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬
‫;‪break‬‬

‫}‬ ‫ﻧﻬﺎﯾﺔ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪switch‬‬

‫وﻫﻲ ﻓﻲ اﻟﻌﺎدة ﺗﺴﺘﺨﺪم ﻋﻨﺪﻣﺎ ﺗﻜﻮن ﻟﺪﯾﻚ ﻗﯿﻤﺔ ﻣﺤﺪدة وﻣﻌﺮﻓﺔ وﺗﺮﯾﺪ ﺗﻨﻔﯿﺬ اﻟﻌﻤﻠﯿﺎت أو اﻷواﻣﺮ‬
‫ﻋﻨﺪﻣﺎ ﯾﺘﻢ اﺧﺘﯿﺎر ﻗﯿﻤﺔ ﻣﻌﯿﻨﺔ‪.‬‬

‫ﯾﻘﻮم اﻷﻣﺮ ﺑﺎﺧﺘﺒﺎر ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ n‬ﻋﻨﺪﻣﺎ ﺗﻜﻮن ﻣﺴﺎوﯾﺔ ﻟﻮاﺣﺪ ﻣﻦ اﻟﺤﺎﻻت اﻟﺘﻲ ﺣﺪدﺗﻬﺎ وﻫﻲ ‪ case‬ﺗﻨﻔﺬ‬
‫اﻷواﻣﺮ اﻟﺘﻲ وﺿﻌﺘﻬﺎ ﺑﺪاﺧﻞ اﻟـ ‪ case‬إﻟﻰ أن ﯾﺼﻞ إﻟﻰ ﻛﻠﻤﺔ ‪ break‬ﻋﻨﺪ ذﻟﻚ ﯾﺘﻢ اﻟﺨﺮوج ﻣﻦ اﻟﺒﻠﻮك‬
‫اﻟﺨﺎص ﺑﺠﻤﻠﺔ ‪ switch‬و إذا ﻟﻢ ﺗﺴﺎوي أي ﻣﻦ اﻟﻘﯿﻢ اﻟﺘﻲ اﻓﺘﺮﺿﺘﻬﺎ ﯾﺘﻮﺟﻪ اﻟﺘﻨﻔﯿﺬ إﻟﻰ اﻷواﻣﺮ اﻟﺘﻲ ﺗﻠﻲ‬
‫اﻷﻣﺮ ‪. default‬‬

‫وﺳﻮف ﻧﺸﺮح ﻣﺜﺎل ﺑﻌﺪ أن ﻧﺄﺧﺬ ﻋﺒﺎرات اﻟﺘﻜﺮار ﺣﯿﺚ ﺳﻨﺪﻣﺞ ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪ switch‬ﻣﻊ ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪for‬‬
‫وذﻟﻚ ﻓﻬﻢ اﻟﺘﺮﻛﯿﺐ ﺑﯿﻦ ﺟﻤﻞ اﻟﺘﺤﻜﻢ و اﻟﺘﻜﺮار وﻣﻦ ﺛﻢ ﻧﺘﺮك ﻟﺨﯿﺎﻟﻚ اﻟﻮاﺳﻊ ﻟﻺﺑﺪاع ﻓﻲ ﻛﺘﺎﺑﺔ اﻟﺒﺮاﻣﺞ ‪ .‬و أﻻن‬
‫ﻟﻨﻨﺘﻘﻞ إﻟﻰ ﻋﺒﺎرات اﻟﺘﻜﺮار ‪.‬‬

‫‪١٢‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻋﺒﺎرات اﻟﺘﻜﺮار‬
‫‪FOR‬‬

‫ﻧﻔﺲ اﻟﻮﻇﯿﻔﺔ ﺟﻤﻠﺔ ‪ while‬وﻟﻜﻦ ﻫﻨﺎ ﯾﺘﻢ ﺗﺤﺪﯾﺪ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺳﻮف ﻧﺒﺪاء ﻣﻨﻬﺎ وﻣﻘﺪار اﻟﺰﯾﺎدة أو‬
‫اﻟﻨﻘﺼﺎن وﻋﺪد ﻣﺮات اﻟﺘﻜﺮار واﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺠﻤﻠﺔ ‪ for‬ﻫﻲ ‪:‬‬

‫) ﻣﻘﺪار ﻟﺰﯾﺎدة أو اﻟﻨﻘﺼﺎن ; ﺷﺮط ﯾﺘﻢ ﻓﯿﻪ ﺗﺤﺪﯾﺪ ﻋﺪد ﻣﺮات اﻟﺘﻜﺮار ; ﻗﯿﻤﺔ اﻟﺒﺪاﯾﺔ ( ‪For‬‬

‫{‬ ‫ﺑﺪاﯾﺔ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪for‬‬

‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬

‫}‬ ‫ﻧﻬﺎﯾﺔ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪for‬‬

‫إﻟﯿﻚ اﻟﻤﺜﺎل اﻟﺬي ﯾﻮﺿﺢ ذﻟﻚ‬

‫)‪for (var x = 1; x <= 10 ; x++‬‬


‫{‬
‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬
‫}‬

‫اﻟﺘﺮﻛﯿﺐ ﻣﻄﺎﺑﻖ ﺗﻤﺎﻣﺎ ﻟﻠﻐﺔ ‪ C++‬وﻣﻌﻨﻰ اﻟﻤﺜﺎل اﺑﺪأ اﻟﻌﺪ ﻣﻦ ‪ ١‬ﺣﺘﻰ ﺗﺼﻞ اﻟﻘﯿﻤﺔ إﻟﻰ ﻗﯿﻤﺔ اﺻﻐﺮ ﻣﻦ أو‬
‫ﺗﺴﺎوى ‪ ١٠‬وﻓﻲ ﻛﻞ ﻣﺮة زﯾﺪ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬ﺑﻤﻘﺪار ‪ ١‬وﻣﻠﺨﺺ ذﻟﻚ ﻛﺮر ﻣﺎ ﺑﺪاﺧﻞ اﻟﺒﻠﻮك ‪ ١٠‬ﻣﺮات‬
‫ﻣﺮة أﺧﺮى ﻻ ﺣﻆ اﺳﺘﺨﺪام اﻟﻤﺆﺛﺮات اﻟﻤﻨﻄﻘﯿﺔ اﻟﻤﻈﻠﻞ ﺑﺎﻷزرق‪.‬‬

‫‪١٣‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫و أﻻن ﺳﻮف ﻧﻘﻮم ﺑﺸﺮح ﻣﺜﺎل ﯾﺤﺘﻮي ﻋﻠﻰ ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪ for‬وﻋﻠﻰ ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪switch‬‬

‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html‬‬
‫‪٢‬‬ ‫‪<head> welcome to java‬‬
‫‪٣‬‬ ‫>‪</head‬‬
‫‪٤‬‬ ‫>"‪<SCRIPT LANGUAGE="javascript‬‬
‫‪٥‬‬ ‫‪<!--‬‬
‫‪٦‬‬ ‫;‪var n=5‬‬
‫‪٧‬‬ ‫)‪for (var i=1 ; i<n ; i+1‬‬
‫‪٨‬‬ ‫{‬
‫‪٩‬‬ ‫‪switch‬‬ ‫)‪(i‬‬
‫‪١٠‬‬ ‫{‬
‫‪١٢‬‬ ‫} ;)" ‪case 1: { document.write(" welcome‬‬
‫‪١٣‬‬ ‫;‪break‬‬
‫‪١٤‬‬ ‫} ;)" ‪case 2: { document.write(" to‬‬
‫‪١٥‬‬ ‫;‪break‬‬
‫‪١٦‬‬ ‫} ;)" ‪case 3: { document.write(" you‬‬
‫‪١٧‬‬ ‫;‪break‬‬
‫‪١٨‬‬ ‫} ;)" ‪case 4: { document.write(" and‬‬
‫‪١٩‬‬ ‫;‪break‬‬
‫‪٢٠‬‬ ‫} ;)" *‪default :{ document.write(" *+*+*+*+‬‬
‫‪٢١‬‬ ‫;‪break‬‬
‫‪٢٢‬‬ ‫}‬
‫‪٢٣‬‬ ‫}‬
‫‪٢٤‬‬ ‫>‪--‬‬
‫‪٢٥‬‬ ‫>‪</SCRIPT‬‬
‫‪٢٦‬‬ ‫>‪<body‬‬
‫‪٢٧‬‬ ‫>‪</body‬‬
‫‪٢٨‬‬ ‫>‪</html‬‬

‫و اﻟﺬي‬ ‫>‪</html‬‬ ‫‪١‬و‪ -٢٨‬أوﻻ ﯾﺘﻢ وﺿﻊ ‪ tag‬اﻟﻤﺴﻤﻰ واﻟﺬي ﯾﺪل ﻋﻠﻰ ﺑﺪاﯾﺔ اﻟﺼﻔﺤﺔ >‪ <html‬واﻟـ ‪tag‬‬
‫ﯾﺪل ﻋﻠﻰ ﻧﻬﺎﯾﺔ اﻟﺼﻔﺤﺔ وﯾﺘﻢ وﺿﻊ ﺑﺎﻗﻲ اﻷواﻣﺮ ﻟﻐﺔ ‪.HTML‬‬

‫ﯾﻮﺿﻊ ﺑﯿﻨﻬﻤﺎ ﻋﻨﻮان اﻟﺼﻔﺤﺔ ‪.‬‬ ‫>‪</head‬‬ ‫و‬ ‫‪<head> -‬‬ ‫‪٢‬و ‪٣‬‬

‫‪ -٤‬ﻫﺬا اﻟﺴﻄﺮ ﯾﺠﺐ أن ﯾﻜﻮن أول ﺳﻄﺮ ﻓﻲ أي ﻛﻮد ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺣﯿﺚ أﻧﻪ ﯾﻨﺒﻪ اﻟﻤﺘﺼﻔﺢ ﺑﺄن ﻣﺎ ﺳﯿﺘﺒﻊ ﻫﺬا‬
‫اﻷﻣﺮ ﻫﻮ ‪. Javascript‬‬

‫‪ ٥‬و‪ -٢٤‬اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ ‪ <!--‬ﯾﻘﻮم ﺑﺈﺧﻔﺎء ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻦ اﻟﻤﺴﺘﻌﺮض أو اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﻻ ﯾﺪﻋﻢ ﻟﻐﺔ‬
‫اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻜﻮد ﯾﺘﻢ وﺿﻊ اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ > ‪. --‬‬

‫وأﺧﯿﺮ ﯾﺘﻢ وﺿﻊ اﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮﻃﺔ ‪.‬‬ ‫‪5‬‬ ‫وﯾﺘﻢ إﻋﻄﺎءه اﻟﻘﯿﻤﺔ‬ ‫‪n‬‬ ‫‪ -٦‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ‬

‫‪ -٧‬اﺳﺘﺨﺪام ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪ for‬ﺣﯿﺚ ﯾﺘﻢ ﺑﺪاﺧﻞ ﺟﻤﻠﺔ ‪ for‬ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ ‪ i‬وﺗﻢ إﻋﻄﺎءه ﻗﯿﻤﺔ اﺑﺘﺪاﺋﯿﺔ ﺗﺴﺎوي‬
‫واﺣﺪ ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﺛﻢ وﺿﻊ ﻓﺎﺻﻠﺔ ﻣﻨﻘﻮﻃﺔ ; ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ وﺿﻊ اﻟﺸﺮط واﻟﺬي ﯾﺤﺪد ﻋﺪد ﻣﺮات اﻟﺘﻜﺮار‬
‫وﻓﻲ ﻣﺜﺎﻟﻨﺎ ﻫﺬا ﺗﻢ ﺗﺤﺪﯾﺪ ﻋﺪد اﻟﻤﺮات وﻫﻮ ‪ ٤‬ﻣﺮات اﻟﺘﻜﺮار ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﺗﻢ وﺿﻊ ﻣﻘﺪار اﻟﺰﯾﺎدة وﻫﻮ ﻓﻲ ﻣﺜﺎﻟﻨﺎ‬
‫ﻣﻘﺪار اﻟﺰﯾﺎدة ﺑﻮاﺣﺪ وﯾﻤﻜﻦ وﺿﻊ أي ﻣﻘﺪار زﯾﺎدة أو ﻣﻘﺪار ﻧﻘﺼﺎن ﻋﻠﻰ ﺣﺴﺐ ﻣﺘﻄﻠﺒﺎت اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﺗﺮﯾﺪ‬
‫ﻋﻤﻠﻪ ‪ ،‬وﻧﻌﻮد إﻟﻰ اﻟﻤﺜﺎل ﻓﻲ اﻟﺠﺰء ‪ i+1‬ﻓﻲ ﻫﺬا اﻟﻔﻘﺮة ﯾﻘﻮم اﻟﺒﺮﻧﺎﻣﺞ ﺑﺈﺿﺎﻓﺔ ‪ ١‬إﻟﻰ أﺧﺮ ﻗﯿﻤﺔ ﻟﻠﻤﺘﻐﯿﺮ ‪. i‬‬

‫‪١٤‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫اﻟﻤﻄﻠﻮب ﻓﻬﻤﻪ ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﻣﺎ ﯾﻠﻲ ‪:‬‬

‫أﻧﻪ ﻋﻨﺪﻣﺎ ﯾﺪﺧﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪ for‬ﻓﺈﻧﻪ ﯾﻨﻔﺬ اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ‬

‫اﻟﺨﻄﻮة اﻷوﻟﻰ ‪:‬‬

‫أن ﯾﻀﻊ ﻗﯿﻤﺔ أوﻟﯿﺔ ﻟﻤﺘﻐﯿﺮ ‪. I‬‬

‫اﻟﺨﻄﻮة اﻟﺜﺎﻧﯿﺔ ‪:‬‬

‫ﯾﺘﺤﻘﻖ ﻣﻦ اﻟﺸﺮط إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ ‪ I‬اﻗﻞ ﻣﻦ ﻗﯿﻤﺔ اﻟـ ‪ ) n‬أو ﻋﻠﻰ ﺣﺴﺐ اﻟﺸﺮط اﻟﺬي ﺗﻀﻌﻪ (إذا ﻟﻢ ﯾﺘﺤﻘﻖ‬
‫اﻟﺸﺮط ﻓﺈﻧﻪ أﻣﺎ إذا ﺗﺤﻘﻖ اﻟﺸﺮط ﻓﺈﻧﻪ ﯾﻘﻮم ﺑﺰﯾﺎدة اﻟﻤﺘﻐﯿﺮ ‪ I‬ﺑﻤﻘﺪار ‪ ١‬وﯾﻨﺘﻘﻞ إﻟﻰ اﻟﺨﻄﻮة اﻟﺜﺎﻟﺜﺔ ‪.‬‬

‫اﻟﺨﻄﻮة اﻟﺜﺎﻟﺜﺔ ‪:‬‬

‫ﯾﻨﻔﺬ ﻛﻞ اﻷواﻣﺮ اﻟﻤﻮﺟﻮدة ﺑﺪاﺧﻞ اﻷﻗﻮاس اﻟﺨﺎﺻﺔ ﺑﺠﻤﻠﺔ اﻟـ ‪ for‬و ﻣﻦ ﺛﻢ ﯾﻌﻮد إﻟﻰ اﻟﺨﻄﻮة اﻟﺜﺎﻧﯿﺔ ‪.‬‬

‫اﻟﺨﻄﻮة اﻟﺮاﺑﻌﺔ ‪:‬‬

‫ﯾﺨﺮج ﻣﻦ ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪ for‬وﯾﻨﻔﺬ ﺑﺎﻗﻲ اﻟﺒﺮﻧﺎﻣﺞ ‪.‬‬

‫واﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ اﻟﺠﺰء اﻟﺴﺎﺑﻖ ‪:‬‬


‫ﺑﺪاﯾﺔ ﻗﻮس‬
‫ﺟﻤﻠﺔ اﻟـ ‪for‬‬ ‫)‪for (var i=1 ; i<n ; i+1‬‬
‫{‬

‫)‪switch (i‬‬
‫{‬
‫اﻷواﻣﺮ‬ ‫"(‪case 1: { document.write‬‬ ‫};)" ‪welcome‬‬
‫اﻟﺘﻲ ﯾﺠﺐ‬ ‫;‪break‬‬
‫ﺗﻨﻔﯿﺬﻫﺎ‬ ‫"(‪case 2: { document.write‬‬ ‫} ;)" ‪to‬‬
‫واﻟﺘﻲ ﻫﻲ‬ ‫;‪break‬‬
‫ﺑﺪاﺧﻞ أو‬ ‫"(‪case 3: { document.write‬‬ ‫} ;)" ‪you‬‬
‫ﺑﯿﻦ أﻗﻮاس‬ ‫;‪break‬‬
‫ﺟﻤﻠﺔ ‪for‬‬ ‫"(‪case 4: { document.write‬‬ ‫} ;)" ‪and‬‬
‫;‪break‬‬
‫"(‪default:{ document.write‬‬ ‫};)" *‪*+*+*+*+‬‬
‫;‪break‬‬
‫}‬

‫}‬
‫ﻧﻬﺎﯾﺔ ﻗﻮس‬
‫ﺟﻤﻠﺔ اﻟـ ‪for‬‬
‫‪ ٨‬و‪ -٢٣‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ ﻓﺘﺢ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪ for‬و وﯾﻜﻮن اﻟﻘﻮس ﻋﻠﻰ ﺷﻜﻞ { وﯾﺠﺐ أن‬
‫ﯾﻐﻠﻖ ﺑﺎﻟﻘﻮس اﻟﺬي ﺷﻜﻠﻪ } ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل ‪.‬‬

‫‪ -٩‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ اﺳﺘﺨﺪام ﻋﺒﺎرة اﻟﺘﺤﻜﻢ ) ‪ switch( i‬ﺣﯿﺚ ﯾﺘﻢ ﺑﺎﺧﺘﺒﺎر ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬ﻋﻨﺪﻣﺎ ﺗﻜﻮن‬
‫ﻣﺴﺎوﯾﺔ ﻟﻮاﺣﺪ ﻣﻦ اﻟﺤﺎﻻت اﻟﺘﻲ ﺣﺪدﺗﻬﺎ وﻫﻲ ‪ case‬ﯾﺘﻢ ﺗﻨﻔﺬ اﻷواﻣﺮ اﻟﻤﻮﺟﻮدة ﺑﺪاﺧﻞ اﻷﻗﻮاس ﻟﻬﺬه اﻟـ‬
‫‪. case‬‬
‫‪١٥‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪ ١٠‬و‪ -٢٢‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ ﻓﺘﺢ ﻗﻮس ﻋﺒﺎرة اﻟﺘﺤﻜﻢ ) ‪ switch( i‬و وﯾﻜﻮن اﻟﻘﻮس ﻋﻠﻰ ﺷﻜﻞ {‬
‫وﯾﺠﺐ أن ﯾﻐﻠﻖ ﺑﺎﻟﻘﻮس اﻟﺬي ﺷﻜﻠﻪ } ‪.‬‬

‫‪١٢‬و‪ -١٣‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮﺗﯿﻦ ﯾﺘﻢ اﻟﺘﺄﻛﺪ ﻣﻦ أن اﻟﻘﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬ﺗﺴﺎوي اﻟﻘﯿﻤﺔ اﻟﻤﻮﺟﻮدة أﻣﺎم ﻛﻠﻤﺔ ‪case‬‬
‫وﻓﻲ ﻣﺜﺎﻟﻨﺎ وﺧﺼﻮص ﻫﺬه اﻟﺤﺎﻟﺔ ﺗﺴﺎوي ‪ ١‬ﺣﯿﺚ ﯾﺘﻢ ﺗﻨﻔﯿﺬ ﻣﺎ ﺑﺪاﺧﻞ اﻟﻘﻮس اﻟﺘﻲ ﺷﻜﻠﻬﺎ } { وﻫﻮ‬

‫} ;)" ‪{ document.write(" welcome‬‬

‫;‪break‬‬

‫ﻓﻲ ﻫﺬا اﻟﺠﻤﻠﺔ ﯾﺘﻢ اﺳﺘﺨﺪام اﻟﻜﺎﺋﻦ ) ‪ (document‬وذﻟﻚ ﻟﻜﺘﺎﺑﺔ ﻋﻦ ﻃﺮﯾﻖ اﻟﺪاﻟﺔ )‪ ( write‬ﻣﺎ ﺑﺪاﺧﻞ‬
‫اﻷﻗﻮاس اﻟﺘﻲ ﺷﻜﻠﻬﺎ ) ( وﺑﯿﻨﻬﺎ ﻋﻼﻣﺔ " " ‪ .‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻗﻔﻞ اﻟﻘﻮس اﻟﺬي ﺷﻜﻠﻪ } { وﻫﻨﺎ اﺳﺘﺨﺪﻣﻨﺎ‬
‫اﻷﻗﻮاس } { وذﻟﻚ ﻓﻲ ﺣﺎﻟﺔ أﻧﻚ ﺗﺮﯾﺪ ﺗﻨﻔﯿﺬ أﻛﺜﺮ ﻣﻦ أﻣﺮ ﻋﻨﺪﻣﺎ ﺗﻜﻮن ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬ﺗﺴﺎوي اﻟﻘﯿﻤﺔ‬
‫اﻟﻤﻮﺟﻮدة أﻣﺎم ﻛﻠﻤﺔ ‪ .case‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ;‪ break‬وذﻟﻚ ﻟﻠﺨﺮوج ﻣﻦ ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ‬
‫‪. switch‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﻣﻦ اﻟﻀﺮوري ﻛﺘﺎﺑﺔ ﻛﻠﻤﺔ ; ‪ break‬ﺑﻌﺪ ﻛﻞ ‪ case‬وذﻟﻚ ﻟﻤﻨﻊ اﻻﻧﺘﻘﺎل و ﺗﻨﻔﯿﺬ ﺑﺎﻗﻲ اﻟﺤﺎﻻت‬
‫اﻟـ ‪ case‬اﻷﺧﺮى ‪.‬‬

‫‪ ١٤‬و‪ -١٥‬ﻧﻔﺲ ﻓﻜﺮة اﻟﺨﻄﻮة ‪ ١٣-١٢‬ﻓﯿﻤﺎ ﻋﺪى اﻧﻪ ﯾﺘﻢ اﻟﺘﺄﻛﺪ ﻣﻦ أن اﻟﻘﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬ﺗﺴﺎوي اﻟﻘﯿﻤﺔ‬
‫اﻟﻤﻮﺟﻮدة أﻣﺎم ﻛﻠﻤﺔ ‪ case‬وﻫﻲ ﺗﺴﺎوي ﻫﻨﺎ ‪ ٢‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ;‪ break‬وذﻟﻚ ﻟﻠﺨﺮوج ﻣﻦ‬
‫ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪. switch‬‬

‫‪ ١٦‬و‪ -١٧‬ﻧﻔﺲ ﻓﻜﺮة اﻟﺨﻄﻮة ‪ ١٣-١٢‬ﻓﯿﻤﺎ ﻋﺪى اﻧﻪ ﯾﺘﻢ اﻟﺘﺄﻛﺪ ﻣﻦ أن اﻟﻘﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬ﺗﺴﺎوي اﻟﻘﯿﻤﺔ‬
‫اﻟﻤﻮﺟﻮدة أﻣﺎم ﻛﻠﻤﺔ ‪ case‬وﻫﻲ ﺗﺴﺎوي ﻫﻨﺎ ‪ ٢‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ;‪ break‬وذﻟﻚ ﻟﻠﺨﺮوج ﻣﻦ‬
‫ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪. switch‬‬

‫‪ ١٨‬و‪ -١٩‬ﻧﻔﺲ ﻓﻜﺮة اﻟﺨﻄﻮة ‪ ١٣-١٢‬ﻓﯿﻤﺎ ﻋﺪى اﻧﻪ ﯾﺘﻢ اﻟﺘﺄﻛﺪ ﻣﻦ أن اﻟﻘﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ i‬ﺗﺴﺎوي اﻟﻘﯿﻤﺔ‬
‫اﻟﻤﻮﺟﻮدة أﻣﺎم ﻛﻠﻤﺔ ‪ case‬وﻫﻲ ﺗﺴﺎوي ﻫﻨﺎ ‪ ٢‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ;‪ break‬وذﻟﻚ ﻟﻠﺨﺮوج ﻣﻦ‬
‫ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪. switch‬‬

‫‪٢٠‬و‪ -٢١‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ وﺿﻊ ﺣﺎﻟﺔ اﻓﺘﺮاﺿﯿﺔ وذﻟﻚ ﯾﻌﻨﻲ أﻧﻪ ﻋﻨﺪ ﻋﺪم ﺗﺤﻘﻖ أﺣﺪ اﻟﺤﺎﻻت اﻟﺴﺎﺑﻘﺔ ﯾﻘﻮم‬
‫ﺑﺘﻨﻔﯿﺬ ﻫﺬه اﻟﺤﺎﻟﺔ وﻫﻲ اﻟـ ‪ default:‬ﺣﯿﺚ ﯾﺘﻢ ﺗﻨﻔﯿﺬ ﻣﺎ ﺑﺪاﺧﻞ اﻟﻘﻮس اﻟﺘﻲ ﺷﻜﻠﻬﺎ } { وﻫﻮ‬

‫};)" *‪default:{ document.write(" *+*+*+*+‬‬


‫ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ;‪ break‬وذﻟﻚ ﻟﻠﺨﺮوج ﻣﻦ ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪. switch‬‬

‫;‪break‬‬

‫وﻫﻮ اﻟﺬي ﯾﺪل اﻟﻤﺘﺼﻔﺢ أﻧﻪ ﻧﻬﺎﯾﺔ ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ ‪.‬‬ ‫>‪</Script‬‬ ‫‪ -٢٥‬وﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ‬

‫‪١٦‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪ ٢٦‬و‪ <body> -٢٧‬و >‪ </body‬ﺣﯿﺚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ داﺧﻞ ﻫﺬا اﻟﺠﺰء ﻣﺤﺘﻮﯾﺎت ﺻﻔﺤﺔ اﻟﻮﯾﺐ اﻟﻔﻌﻠﯿﺔ ﻣﺜﻞ‬
‫اﻟﺠﺪاول و اﻟﻨﻤﺎذج و اﻟﺼﻮر و اﻟﺘﻲ ﺳﯿﺮاﻫﺎ اﻟﺰوار ﻟﻬﺬه اﻟﺼﻔﺤﺔ ‪.‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﻫﻨﺎ ﻧﻼﺣﻆ اﻧﻨﺎ ﻟﻢ ﻧﻜﺘﺐ ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ داﺧﻞ ﻣﻨﻄﻘﺔ اﻟـ ‪ Body‬ﻟﺼﻔﺤﺔ وﻫﻲ اﻟﻤﻨﻄﻘﺔ‬
‫اﻟﻤﺤﺼﻮرة ﺑﯿﻦ >‪ <body‬و >‪ </body‬و إﻧﻤﺎ ﻛﺘﺒﻨﺎه ﻓﻲ ﻣﻨﻄﻘﺔ اﻟـ ‪ head‬وﻫﻲ اﻟﻤﻨﻄﻘﺔ اﻟﻤﺤﺼﻮرة ﺑﯿﻦ‬
‫>‪ <head‬و >‪ </head‬وﻫﺬا ﯾﻌﻨﻲ أﻧﻪ ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻓﻲ أي ﺟﺰء ﻣﻦ ﻛﻮد أو ﻟﻐﺔ اﻟـ‬
‫‪. HTML‬‬

‫‪١٧‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪WHILE‬‬

‫اﻟﻬﺪف ﻣﻦ ﻋﺒﺎرات اﻟﺘﻜﺮار ﻫﻮ ﺗﻜﺮار أﺟﺰاء ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺮات وﻣﺮات ﺣﺴﺐ اﻟﺸﺮط اﻟﻌﺪدي أو ﺷﺮط ﻣﻌﯿﻦ‬
‫وذﻟﻚ ﻻﺧﺘﺼﺎر ﻛﺘﺎﺑﺔ ﺟﺰء ﻛﺒﯿﺮ ﻣﻦ اﻟﺘﻌﻠﯿﻤﺎت ‪.‬‬

‫اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﻌﺒﺎرة ‪ while‬ﻛﺂﻻﺗﻲ ‪:‬‬

‫; ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ و إﻋﻄﺎءه ﻗﯿﻤﺔ أوﻟﯿﺔ‬

‫) ﺷﺮط ﯾﺘﻢ ﻓﯿﻪ ﺗﺤﺪﯾﺪ ﻋﺪد ﻣﺮات اﻟﺘﻜﺮار ( ‪while‬‬

‫{‬ ‫ﺑﺪاﯾﺔ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪while‬‬

‫ﻧﻔﺬ ﻫﺬه اﻷواﻣﺮ‬

‫زﯾﺎدة اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺗﻢ ﺗﻌﺮﯾﻔﺔ ﻓﻲ اﻷﻋﻠﻰ‬ ‫;‬

‫}‬ ‫ﻧﻬﺎﯾﺔ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪while‬‬

‫اﻟﯿﻚ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬

‫;‪var x = 1‬‬
‫)‪while (x <= 10‬‬
‫{‬
‫;‪x +2‬‬
‫}‬
‫ﻻﺣﻆ اﺳﺘﺨﺪام اﻟﻤﻌﺎﻣﻼت اﻟﻤﻈﻠﻞ ﺑﺎﻷزرق وارﺟﻊ إﻟﻰ اﻟﺠﺪول ﻟﻤﻌﺮﻓﺔ اﺳﺘﺨﺪاﻣﻬﺎ وﻧﻌﻮد إﻟﻰ ﻣﺜﺎﻟﻨﺎ اﻷﻣﺮ‬
‫‪ while‬ﯾﻘﻮم ﺑﻌﻤﻞ ﺗﻜﺮار اﻟﺒﻠﻮك أو أﻣﺮ ﺑﺸﺮط أن ﺗﻜﻮن ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬اﺻﻐﺮ ﻣﻦ أو ﺗﺴﺎوي ‪١٠‬‬
‫و اﻟﺒﻠﻮك اﻟﻤﻄﻠﻮب ﺗﻜﺮاره ﻋﺒﺎرة ﻋﻦ زﯾﺎدة ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬ﺑﻤﻘﺪار ‪ ٢‬ﺛﻢ ﯾﻘﻮم أﻣﺮ اﻟﺘﻜﺮار ﺑﺎﻟﻜﺸﻒ ﺛﺎﻧﯿﺔ ﻋﻠﻰ‬
‫اﻟﻘﯿﻤﺔ ﺣﺘﻰ ﺗﺼﻞ إﻟﻰ اﻟﺸﺮط اﻟﺬي ﯾﻨﻬﻲ ﻋﻤﻠﯿﺔ اﻟﺘﻜﺮار ‪.‬‬

‫‪١٨‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫و اﻵن ﻧﺄﺧﺬ ﻣﺜﺎل ﻛﺎﻣﻞ ﻋﻠﻰ ﻋﺒﺎرة أو ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪: while‬‬

‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html‬‬
‫‪٢‬‬ ‫>‪<title>fouth Example</title‬‬
‫‪٣‬‬ ‫>‪<body‬‬
‫‪٤‬‬ ‫>"‪<SCRIPT LANGUAGE="javascript‬‬
‫‪٥‬‬ ‫‪<!--‬‬
‫‪٦‬‬ ‫‪var‬‬ ‫;‪x = 1‬‬
‫‪٧‬‬ ‫)‪while (x <= 3‬‬
‫‪٨‬‬ ‫{‬
‫‪٩‬‬ ‫;)""‪document.write("<h"+x+"> welcome "+x+‬‬
‫‪١٠‬‬ ‫‪x+1‬‬
‫‪١١‬‬ ‫}‬
‫‪١٢‬‬ ‫>‪--‬‬
‫‪١٣‬‬ ‫>‪</SCRIPT‬‬
‫‪١٤‬‬ ‫>‪</body‬‬
‫‪١٥‬‬ ‫>‪</html‬‬

‫و اﻟﺬي‬ ‫>‪</html‬‬ ‫‪١‬و ‪ -١٥‬أوﻻ ﯾﺘﻢ وﺿﻊ ‪ tag‬اﻟﻤﺴﻤﻰ واﻟﺬي ﯾﺪل ﻋﻠﻰ ﺑﺪاﯾﺔ اﻟﺼﻔﺤﺔ >‪ <html‬واﻟـ ‪tag‬‬
‫ﯾﺪل ﻋﻠﻰ ﻧﻬﺎﯾﺔ اﻟﺼﻔﺤﺔ وﯾﺘﻢ وﺿﻊ ﺑﺎﻗﻲ اﻷواﻣﺮ ﻟﻐﺔ ‪.HTML‬‬

‫‪ <title> - ٢‬و >‪ </title‬ﺗﺘﯿﺢ ﻟﻚ ﻫﺬه اﻟﻌﻼﻣﺔ أن ﺗﻌﻄﻲ اﻟﺼﻔﺤﺔ ﻋﻨﻮاﻧﺎ واﺿﺤﺎ ﻣﻤﯿﺰا وﯾﻈﻬﺮ ﻫﺬا‬
‫اﻟﻌﻨﻮان ﻋﻠﻰ ﻧﺎﻓﺬة اﻟﻤﺴﺘﻌﺮض وﯾﺠﺐ أن ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻌﻨﻮان ﻋﻠﻰ ﺣﺮوف و أرﻗﺎم ﻓﻘﻂ‪.‬‬

‫ﺣﯿﺚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ داﺧﻞ ﻫﺬا اﻟﺠﺰء ﻣﺤﺘﻮﯾﺎت ﺻﻔﺤﺔ اﻟﻮب اﻟﻔﻌﻠﯿﺔ ‪.‬‬ ‫>‪</body‬‬ ‫و‬ ‫>‪<body‬‬ ‫‪ ٣‬و ‪-١٤‬‬

‫‪ -٤‬ﻫﺬا اﻟﺴﻄﺮ ﯾﺠﺐ أن ﯾﻜﻮن أول ﺳﻄﺮ ﻓﻲ أي ﻛﻮد ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺣﯿﺚ أﻧﻪ ﯾﻨﺒﻪ اﻟﻤﺘﺼﻔﺢ ﺑﺄن ﻣﺎ ﺳﯿﺘﺒﻊ ﻫﺬا‬
‫اﻷﻣﺮ ﻫﻮ ‪. Javascript‬‬

‫وﺗﻢ إﻋﻄﺎءه‬ ‫‪x‬‬ ‫واﺳﻢ ﻫﺬا اﻟﻤﺘﻐﯿﺮ‬ ‫‪var‬‬ ‫‪ - ٦‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﺗﻢ ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ و ذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﻜﻠﻤﺔ‬
‫اﻟﻘﯿﻤﺔ ‪. ١‬‬

‫‪ ٧‬و‪ -١٤‬اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ ‪ <!--‬ﯾﻘﻮم ﺑﺈﺧﻔﺎء ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻦ اﻟﻤﺴﺘﻌﺮض أو اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﻻ ﯾﺪﻋﻢ ﻟﻐﺔ‬
‫اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ ﻛﻮد اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ ﯾﺘﻢ وﺿﻊ اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ > ‪. --‬‬

‫‪ ٨‬و‪ -١١‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ ﻓﺘﺢ ﻗﻮس ﺟﻤﻠﺔ اﻟﺘﺤﻜﻢ ‪ while‬و وﯾﻜﻮن اﻟﻘﻮس ﻋﻠﻰ ﺷﻜﻞ { وﯾﺠﺐ أن‬
‫ﯾﻐﻠﻖ ﺑﺎﻟﻘﻮس اﻟﺬي ﺷﻜﻠﻪ } ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل ‪.‬‬

‫‪ -٩‬ﻫﻨﺎ اﺳﺘﺨﺪﻣﻨﺎ ﺟﻤﻠﺔ اﻟﺘﻜﺮار ‪ while‬واﻟﺸﺮط اﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻤﺜﺎل ﻣﻌﻨﺎه إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬أﻗﻞ ﻣﻦ‬
‫أو ﯾﺴﺎوي ‪) ٣‬أي ﻋﻨﺪ ﺗﺤﻘﻖ اﻟﺸﺮط ( ﻓﺈﻧﻪ ﯾﻨﻔﺬ اﻷواﻣﺮ اﻟﺘﻲ ﺑﻌﺪ ﺟﻤﻠﺔ ‪ while‬و ﯾﺘﻢ وﺿﻊ اﻷﻗﻮاس }{ و‬
‫ذﻟﻚ ﯾﺪل ﻋﻠﻰ أﻧﻪ ﯾﺠﺐ ﺗﻨﻔﯿﺬ ﻛﻞ اﻷواﻣﺮ اﻟﻤﻮﺟﻮدة ﺑﺪاﺧﻞ اﻷﻗﻮاس ‪.‬‬

‫‪١٩‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪ -١٠‬اﻟﻌﺒﺎرة ;)""‪ document.write("<h"+x+"> welcome "+x+‬و ﻓﻲ ﻫﺬا اﻟﺴﻄﺮ ﯾﺘﻢ إﺳﺘﺨﺪام اﻟﻜﺎﺋﻦ‬
‫)‪ (document‬وذﻟﻚ ﻟﻜﺘﺎﺑﺔ ﻋﻦ ﻃﺮﯾﻖ اﻟﺪاﻟﺔ )‪ (write‬ﻣﺎ ﺑﺪاﺧﻞ اﻷﻗﻮاس ‪ .‬وﻣﺎ ﺑﺪاﺧﻞ اﻷﻗﻮاس ﻫﻮ ﻋﺒﺎرة‬
‫ﻋﻦ أﻣﺮ ﻋﺎدي ﻣﻦ أواﻣﺮ ‪ HTML‬اﻟﺬي ﯾﺄﻣﺮ اﻟﻤﺘﺼﻔﺢ ﺑﺈﻇﻬﺎر اﻟﺠﻤﻠﺔ " ""‪" "<h"+x+"> welcome "+x+‬‬
‫واﻻن ﻟﻨﺄﺧﺬ ﻫﺬه اﻟﺠﻤﻠﺔ وﻧﺸﺮﺣﻬﺎ ﺑﺎﻟﺘﻔﺼﯿﻞ‬

‫‪" < h‬‬ ‫"‪"+x+‬‬ ‫‪> welcome‬‬ ‫‪" +x+‬‬ ‫""‬

‫ﻫﺬا اﻟﺴﻄﺮ ﺳﻮف ﻧﺸﺮﺣﻪ ﻋﻠﻰ ﺧﻄﻮات ‪:‬‬

‫اﻟﺨﻄﻮة اﻷوﻟﻰ‪:‬‬

‫ﺳﻮف ﯾﺘﻢ أوﻻ أرﺳﺎل اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ اﻟﻰ اﻟﻤﺴﺘﻌﺮض ﻋﻠﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﯿﺔ وﻫﻲ‬

‫> " ﯾﺘﻢ وﺿﻊ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬وﻫﻲ ﻓﻲ أول ﻣﺮة ﺗﺴﺎوي ‪< h " ١‬‬

‫إذا ﯾﺼﺒﺢ ﺷﻜﻞ اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﻲ > ‪ < h1‬وﻫﺬا اﻟﺸﻜﻞ ﯾﻔﻬﻤﻪ اﻟﻤﺴﺘﻌﺮض ﻋﻠﻰ أﻧﻚ ﺗﺮﯾﺪ أن ﺗﻄﺒﻊ ﻋﻨﻮان‬
‫وﯾﻜﻮن اﻟﻤﺴﺘﻮى ﻟﻬﺬا اﻟﻌﻨﻮان ﻫﻮ ‪ . ١‬ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﺳﻮف ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﻜﻠﻤﺔ ‪ welcome‬ﻋﻠﻰ ﺻﻔﺤﺔ اﻻﻧﺘﺮﻧﺖ‬

‫اﻟﺨﻄﻮة اﻟﺜﺎﻧﯿﺔ ‪:‬‬

‫‪. x‬‬ ‫ﯾﻘﻮم ﺑﻄﺒﺎﻋﺔ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ‬

‫‪ .‬وﻣﻦ ﺛﻢ ﯾﻌﻮد اﻟﻰ‬ ‫‪x+1‬‬ ‫ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ زﯾﺎدة ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ x‬ﺑﻤﻘﺪار واﺣﺪ وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ‬
‫‪. while‬‬ ‫ﺟﻤﻠﺔ ‪ while‬و ﯾﻜﺮر ﻧﻔﺲ اﻟﺸﻲء ﺣﯿﺚ ﯾﺨﺘﺒﺮ اﻟﺸﺮط و ﻋﻨﺪ ﺗﺤﻘﻘﻪ ﯾﺨﺮج ﻣﻦ ﺟﻤﻠﺔ‬

‫وﻫﻮ اﻟﺬي ﯾﺪل اﻟﻤﺘﺼﻔﺢ أﻧﻪ ﻧﻬﺎﯾﺔ ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ ‪.‬‬ ‫>‪</Script‬‬ ‫‪ -١٣‬وﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ‬

‫‪٢٠‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫اﻟﺪوال‬

‫ﻫﻨﺎك دوال ﺗﻌﻄﯿﻬﺎ ﻟﻚ اﻟﻠﻐﺔ وﻫﻲ دوال ﺟﺎﻫﺰة ﻹﺟﺮاء ﻋﻤﻠﯿﺎت ﻣﻌﯿﻨﻪ ﺳﻮف ﻧﺘﻌﺮض ﻟﻬﺎ ﻓﯿﻤﺎ ﺑﻌﺪ واﻟﺪوال‬
‫اﻷﺧﺮى وﻫﻲ اﻷﻛﺜﺮ اﺳﺘﺨﺪاﻣﺎ ﻫﻲ اﻟﺘﻲ ﺳﻮف ﺗﻨﺸﺌﻬﺎ أﻧﺖ ﺑﻨﻔﺴﻚ ﻣﺜﺎل ‪:‬‬

‫‪Function FunctionName‬‬ ‫)(‬


‫{‬
‫ﺗﻨﻔﯿﺬ اﻷواﻣﺮ‬
‫{‬

‫و اﻵن ﺳﻮف ﻧﺄﺧﺬ ﻣﺜﺎل ﺑﺴﯿﻂ ﻟﻄﺮﯾﻘﺔ اﺳﺘﺨﺪام اﻟﺪوال‪:‬‬

‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html‬‬
‫‪٢‬‬ ‫>‪<head‬‬
‫‪٣‬‬ ‫>‪<title>useing function</title‬‬
‫‪٤‬‬ ‫>"‪<SCRIPT LANGUAGE="javascript‬‬
‫‪٥‬‬ ‫‪<!--‬‬
‫‪٦‬‬ ‫)(‪function clickme‬‬
‫‪٧‬‬ ‫{‬
‫‪٨‬‬ ‫;)"‪alert("welocm to you‬‬
‫‪٩‬‬ ‫}‬
‫‪١٠‬‬ ‫>‪--‬‬
‫‪١١‬‬ ‫>‪</SCRIPT‬‬
‫‪١٢‬‬ ‫>‪</head‬‬
‫‪١٣‬‬ ‫>‪<body‬‬
‫‪١٤‬‬ ‫"=‪<input type="button" value‬‬ ‫‪hi‬‬ ‫>';)(‪" onclick='clickme‬‬
‫‪١٥‬‬ ‫>‪</body‬‬
‫‪١٦‬‬ ‫>‪</html‬‬

‫و اﻟﺬي‬ ‫>‪</html‬‬ ‫‪١‬و ‪ -١٦‬أوﻻ ﯾﺘﻢ وﺿﻊ ‪ tag‬اﻟﻤﺴﻤﻰ واﻟﺬي ﯾﺪل ﻋﻠﻰ ﺑﺪاﯾﺔ اﻟﺼﻔﺤﺔ >‪ <html‬واﻟـ ‪tag‬‬
‫ﯾﺪل ﻋﻠﻰ ﻧﻬﺎﯾﺔ اﻟﺼﻔﺤﺔ وﯾﺘﻢ وﺿﻊ ﺑﺎﻗﻲ اﻷواﻣﺮ ﻟﻐﺔ ‪.HTML‬‬

‫ﯾﻮﺿﻊ ﺑﯿﻨﻬﻤﺎ ﻋﻨﻮان اﻟﺼﻔﺤﺔ ‪.‬‬ ‫>‪</head‬‬ ‫و‬ ‫>‪<head‬‬ ‫‪٢‬و‪- ١٢‬‬

‫‪ <title> - ٣‬و >‪ </title‬ﺗﺘﯿﺢ ﻟﻚ ﻫﺬه اﻟﻌﻼﻣﺔ أن ﺗﻌﻄﻲ اﻟﺼﻔﺤﺔ ﻋﻨﻮاﻧﺎ واﺿﺤﺎ ﻣﻤﯿﺰا وﯾﻈﻬﺮ ﻫﺬا‬
‫اﻟﻌﻨﻮان ﻋﻠﻰ ﻧﺎﻓﺬة اﻟﻤﺴﺘﻌﺮض وﯾﺠﺐ أن ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻌﻨﻮان ﻋﻠﻰ ﺣﺮوف و أرﻗﺎم ﻓﻘﻂ‪.‬‬

‫‪ -٤‬ﻫﺬا اﻟﺴﻄﺮ ﯾﺠﺐ أن ﯾﻜﻮن أول ﺳﻄﺮ ﻓﻲ أي ﻛﻮد ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻛﻤﺎ ذﻛﺮﻧﺎه ﻓﻲ اﻟﻤﺜﺎل اﻷول ﺣﯿﺚ أﻧﻪ ﯾﻨﺒﻪ‬
‫اﻟﻤﺘﺼﻔﺢ ﺑﺄن ﻣﺎ ﺳﯿﺘﺒﻊ ﻫﺬا اﻷﻣﺮ ﻫﻮ ‪. Javascript‬‬

‫‪ ٥‬و‪ -١٠‬اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ ‪ <!--‬ﯾﻘﻮم ﺑﺈﺧﻔﺎء ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻣﻦ اﻟﻤﺴﺘﻌﺮض أو اﻟﻤﺘﺼﻔﺢ اﻟﺬي ﻻ ﯾﺪﻋﻢ ﻟﻐﺔ‬
‫اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ وﺑﻌﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻜﻮد ﯾﺘﻢ وﺿﻊ اﻟﺮﻣﺰ اﻟﺘﺎﻟﻲ > ‪. --‬‬

‫‪٢١‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫‪ -٦‬ﯾﺘﻢ ﻛﺘﺎﺑﺔ اﻟﻜﻠﻤﺔ ‪ function‬وﻫﻲ ﻛﻠﻤﺔ ﻣﺤﺠﻮزة ﻓﻲ اﻟﻐﺔ وﺗﻘﻮم ﻫﺬه اﻟﻜﻠﻤﺔ ﺑﺘﻌﺮﯾﻒ داﻟﺔ ﺳﻮف ﯾﺘﻢ‬
‫اﻧﺸﺎءﻫﺎ و أﺳﻢ ﻫﺬه اﻟﺪاﻟﺔ ﻓﻲ ﻣﺜﺎﻟﻨﺎ ﻫﻮ )(‪ clickme‬و ﻋﻨﺪﻣﺎ ﺳﻨﺴﺘﺪﻋﻲ اﻟﺪاﻟﺔ ﻣﻦ أي ﻣﻜﺎن ﻣﻦ اﻟﺼﻔﺤﺔ‬
‫ﯾﺠﺐ أن ﺗﻜﻮن ﺑﻨﻔﺲ اﻻﺳﻢ‪.‬‬

‫و وﯾﻜﻮن اﻟﻘﻮس ﻋﻠﻰ ﺷﻜﻞ {‬ ‫)(‪function clickme‬‬ ‫‪ ٧‬و‪ -٩‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ ﻓﺘﺢ ﻗﻮس ﻟﺪاﻟﺔ‬
‫وﯾﺠﺐ أن ﯾﻐﻠﻖ ﺑﺎﻟﻘﻮس اﻟﺬي ﺷﻜﻠﻪ } ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل ‪.‬‬

‫‪ -٨‬اﺳﺘﺨﺪام اﻷﻣﺮ ;)"‪ alert("welocm to you‬ﺣﯿﺚ ﯾﻘﻮم ﻫﺬا اﻷﻣﺮ ﺑﺈﻇﻬﺎر رﺳﺎﻟﺔ ﺗﻨﺒﯿﻪ ﯾﺘﻢ ﻓﯿﻬﺎ ﻛﺘﺎﺑﺔ‬
‫اﻟﺠﻤﻠﺔ اﻟﻤﺮاد إﻇﻬﺎرﻫﺎ وﺗﻨﺒﯿﻪ اﻟﻤﺴﺘﺨﺪم ﺑﻬﺎ وﻓﻲ ﻣﺜﺎﻟﻨﺎ ﺳﻮف ﯾﻘﻮم ﻫﺬا اﻻﻣﺮ ﺑﺈﻇﻬﺎر اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ ‪welocm‬‬
‫‪ to you‬و ﻻ ﺗﻨﺴﻰ أن اﻟﺠﻤﻠﺔ ﯾﺠﺐ وﺿﻌﻬﺎ ﻓﻲ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ ﻛﻤﺎ ﻓﻲ اﻟﺘﺎﻟﻲ ‪:‬‬

‫)" اﻟﻨﺺ اﻟﻤﻄﻠﻮب ﻃﺒﺎﻋﺘﻪ " ِ(‪alert‬‬

‫وﻫﻮ اﻟﺬي ﯾﺪل اﻟﻤﺘﺼﻔﺢ أﻧﻪ ﻧﻬﺎﯾﺔ ﺑﺮﻧﺎﻣﺞ اﻟﺠﺎف ﺳﻜﺮﯾﺒﺖ ‪.‬‬ ‫>‪</Script‬‬ ‫‪ -١١‬وﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﯾﺘﻢ ﻛﺘﺎﺑﺔ‬

‫ﺣﯿﺚ ﯾﺘﻢ ﻛﺘﺎﺑﺔ داﺧﻞ ﻫﺬا اﻟﺠﺰء ﻣﺤﺘﻮﯾﺎت ﺻﻔﺤﺔ اﻟﻮب اﻟﻔﻌﻠﯿﺔ ‪.‬‬ ‫>‪</body‬‬ ‫و‬ ‫>‪<body‬‬ ‫‪ ١٣‬و‪-١٥‬‬

‫‪ -١٤‬ﻓﻲ ﻫﺬه اﻟﺨﻄﻮة ﻓﻘﻂ اﺳﺘﺨﺪﻣﻨﺎ ﻟﻐﺔ ‪ HTML‬ﺣﯿﺚ ﺗﻢ ﺗﻌﺮﯾﻒ زر وﻫﻮ ﻣﻦ ﻧﻮع "‪ type="button‬وﻗﺪ‬
‫اﻋﻄﯿﻨﺎه اﻟﻘﯿﻤﺔ " ‪ value=" hi‬وﻫﺬه اﻟﻜﻠﻤﺔ اﻟﺘﻲ داﺧﻞ ‪ value‬ﻣﺎ ﺳﯿﻈﻬﺮ وﻫﻮ ﻓﻲ ﻣﺜﺎﻟﻨﺎ ﻛﻠﻤﺔ ‪ hi‬ﺛﻢ‬
‫ﺑﻌﺪ ذﻟﻚ ﺗﻢ ﻛﺘﺎﺑﺔ اﻟﻜﻠﻤﺔ‬

‫‪٢٢‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫اﻟﻨﻤﺎذج‬
.( forms ) ‫ ( ﺗﺠﺪﻫﺎ ﻓﻲ اﻟﺼﻔﺤﺔ ﻓﻲ ﻣﺼﻔﻮﻓﺔ ﺗﺴﻤﻰ‬Forms ) ‫اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﺗﻘﻮم ﺑﻮﺿﻊ ﻛﻞ اﻟﻮﺛﺎﺋﻖ‬
‫ اﻟﻨﻤﻮذج‬.‫ ( ﻓﻲ ﻫﺬه اﻟﻤﺼﻔﻮﻓﺔ‬index ) ‫ ( وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ اﻟﻔﻬﺮس‬form ) ‫وﯾﻤﻜﻨﻚ اﻟﻮﺻﻮل ﻟﻜﻞ ﻧﻤﻮذج‬
( form ) ‫ وﯾﻤﻜﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﻤﻮذج‬.‫ وﻫﻜﺬا‬١ ‫ و اﻟﻨﻤﻮذج اﻟﺜﺎﻧﻲ ﻟﻪ اﻟﻔﻬﺮس رﻗﻢ‬، ٠ ‫اﻷول ﻟﻪ اﻟﻔﻬﺮس رﻗﻢ‬
. ‫ﻋﻦ ﻃﺮﯾﻖ اﺳﻢ اﻟﻨﻤﻮذج‬

: ‫وﻟﻜﻲ ﯾﺘﻢ ﻓﻬﻢ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﻤﺎذج ﻧﻘﻮم ﺑﺄﺧﺬ ﺑﻌﺾ اﻷﻣﺜﻠﺔ‬

No Statements
١ <html>
٢ <head>
٣ </title>‫< اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻮﺛﺎﺋﻖ‬title>
٤ <SCRIPT LANGUAGE="javascript">
٥ <!--
٦ function testform()
٧ {
٨ // test the form no.0
٩ if(document.forms[0].elements[0].value==""
١٠ ||document.forms[0].elements[1].value==""
١١ ||document.forms[0].elements[2].value=="")
١٢ {
١٣ alert("‫;)"ﳚﺐ اﻟﻜﺘﺎﺑﺔ ﰲ ﻛﻞ اﳊﻘﻮل‬
١٤ }
١٥ }
١٦ -->
١٧ </SCRIPT>
١٨ </head>
١٩ <body>
٢٠ <center>
٢١ <form method=post onSubmit="return testform()">
٢٢ <tabel>
٢٣ <tr>
٢٤ <td>Name : </td>
٢٥ <td><input type="text" name="name" ></td></tr>
٢٦ <tr><td>Address :</td>
٢٧ <td><input type="text" name="address" ></td></tr>
٢٨ <tr><td>City :</td>
٢٩ <td><input type="text" name="city" ></td></tr>
٣٠ </tabel>
٣١ <p>
٣٢ <input type="submit" name="‫ "إرﺳﺎل اﻟﺒﯿﺎﻧﺎت‬value="submit">
٣٣ </form>
٣٤ </center>
٣٥ </body>
٣٦ </html>

٢٣
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﺷﺮح اﻟﻜﻮد‪:‬‬
‫أوﻻً ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟـ ‪ form‬وذﻟﻚ ﺑﻠﻐﺔ اﻟـ ‪ HTML‬وﻫﻮ اﻟﺠﺰء اﻟﻤﺤﺎط ﺑﺎﻟﻮن اﻷزرق‬

‫ﺣﯿﺚ ﺗﻢ إﻧﺸﺎء ‪ form‬و ﺣﺪدﻧﺎ ﻃﺮﯾﻘﺔ إرﺳﺎل ﻫﺬه ‪ form‬وذﻟﻚ ﺑﻄﺮﯾﻘﺔ اﻟـ ‪ method=post‬واﺳﺘﺨﺪﻣﻨﺎ اﻟﺤﺪث‬
‫‪ onSubmit‬وﻫﻮ ﺣﺪث اﻟﻀﻌﻂ ﻋﻠﻰ زر )إرﺳﺎل اﻟﺒﯿﺎﻧﺎت ( ﻣﻦ ﺻﻔﺤﺔ اﻟﻮﯾﺐ ﺣﯿﺚ ﺳﻮف ﯾﺘﻢ إﺳﺘﺪﻋﺎء داﻟﺔ‬
‫)(‪ testform‬وﻫﻲ اﻟﺪاﻟﺔ ﻣﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ و اﻟﺘﻲ ﺗﻘﻮم ﺑﻔﺤﺺ اﻟﺤﻘﻮل ﻓﻲ اﻟـ ‪ form‬و اﻟﺘﺄﻛﺪ ﻣﻦ‬
‫اﻟﻜﺘﺎﺑﺔ ﻓﻲ ﻛﻞ اﻟﺤﻘﻮل وﻋﺪم ﺗﺮك أﺣﺪ اﻟﺤﻘﻮل ﻓﺎرغ ‪.‬‬
‫ﺛﻢ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟﺤﻘﻮل اﻟﺨﺎﺻﺔ ﺑﺎﻟـ ‪ form‬وﺑﻌﺪ ذﻟﻚ أﻧﺸﺄﻧﺎ زر اﻹرﺳﺎل ﻋﻦ ﻃﺮﯾﻖ ا ﻻﻣﺮ ‪ input‬وﺣﺪدﻧﺎ ﻧﻮع‬
‫ﻫﺬا اﻟﻤﺪﺧﻞ أﻧﻪ ﻣﻦ ﻧﻮع زر إرﺳﺎل و ﺗﻢ إﻋﻄﺎءه اﻻﺳﻢ ) إرﺳﺎل اﻟﺒﯿﺎﻧﺎت ( ‪.‬‬

‫وﻫﻮ اﻟﺠﺰء اﻟﻤﺤﺎط ﺑﺎﻟﻮن اﻻﺣﻤﺮ وﻫﻮ اﻟﺠﺰء اﻟﺨﺎص ﺑﺎﻟﺠﺎﻓﺎ‬ ‫)(‪testform‬‬ ‫واﻻن ﺳﻮف ﻧﺘﺤﺪث ﻋﻦ اﻟﺪاﻟﺔ‬
‫ﺳﻜﺮﯾﺒﺖ‬

‫ﻧﻼﺣﻆ ﻓﻲ أﻧﻪ ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ ﻓﺈﻧﻪ ﯾﺴﺘﺨﺪم ﺟﻤﻠﺔ ‪ If‬اﻟﺸﺮﻃﯿﺔ ﺣﯿﺚ أﻧﻪ ﯾﻘﻮم ﺑﻔﺤﺺ اﻟﻔﻮرم رﻗﻢ ﺻﻔﺮ‬
‫) ]‪ ( Form[0‬وﺣﺪدﻧﺎ اﻟﻌﻨﺼﺮ رﻗﻢ ﺻﻔﺮ أﯾﻀﺎ ) ]‪ ( elements[0‬ﻓﻲ ﻧﻔﺲ ) ]‪ ( Form[0‬وﻫﻮ ﻓﻲ‬
‫ﻣﺜﺎﻟﻨﺎ اﻟﺤﻘﻞ ‪ name‬وﺣﺪدﻧﺎ أﯾﻀﺎ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺑﺪاﺧﻠﻪ إذا ﻛﺎﻧﺖ ﻓﺎرﻏﺔ أي ﻻ ﯾﻮﺟﺪ أي ﺷﻲء ﻣﻜﺘﻮب وﺛﻢ ﺑﻌﺪ‬
‫ذﻟﻚ اﺳﺘﺨﺪﻣﻨﺎ اﻟﻌﻼﻗﺔ اﻟﻤﻨﻄﻘﯿﺔ ) || ( وذﻟﻚ إذا ﻟﻨﻘﻮم ﺑﻔﺤﺺ اﻟﻌﻨﺼﺮ رﻗﻢ واﺣﺪ أﯾﻀﺎ ) ]‪( elements[1‬‬
‫ﻓﻲ ﻧﻔﺲ ) ]‪ ( Form[0‬وﻫﻮ ﻓﻲ ﻣﺜﺎﻟﻨﺎ اﻟﺤﻘﻞ اﻟﻤﺴﻤﻰ ‪ address‬و ﺣﺪدﻧﺎ أﯾﻀﺎ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺑﺪاﺧﻠﻪ إذا‬
‫ﻛﺎﻧﺖ ﻓﺎرﻏﺔ ﺛﻢ وﺿﻌﻨﺎ اﻟﻌﻼﻗﺔ اﻟﻤﻨﻄﻘﯿﺔ ) || ( وذﻟﻚ أﻧﻪ إذا وﺟﺪ اﺣﺪ اﻟﺤﻘﻮل ﻓﺎرﻏﺔ ﻓﺈﻧﻪ ﺳﻮف ﯾﻘﻮم ﺑﺘﻨﻔﯿﺬ‬
‫اﻻﻣﺮ )(‪ alert‬وﺳﻮف ﯾﻈﻬﺮ اﻟﺮﺳﺎﻟﺔ اﻟﺘﺎﻟﯿﺔ ) ﯾﺠﺐ اﻟﻜﺘﺎﺑﺔ ﻓﻲ ﻛﻞ اﻟﺤﻘﻮل (‬
‫‪٢٤‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
: ‫ﻣﺜﺎل آﺧﺮ ﺑﺈﻧﺸﺎء ﻗﺎﺋﻤﺔ ﻣﻨﺴﺪﻟﺔ‬

No Statements
١ <html>
٢ <head>
٣ </title>‫<ﻗﺎﺋﻤﺔ ﻣﻨﺴﺪﻟﺔ‬title>
٤ <script language="javascript">
٥ function formHandler()
٦ {
Var URL=
٧ document.pulldown.selectname.options
[document.pulldownMenu.yourSelect.selectIndex].value
٨ window.location.href=URL
٩ }
١٠ </script>
١١ choose a search engine:
١٢ <form name="pulldownMenu">
١٣ <select name="yourSelect" onChange="formHandler()">
١٤ <option value="http://www.msn.com">MSN
١٥ <option value="http://www.yahoo.com">Yahoo
١٦ <option value="http://www.altavista.com">Altavista
١٧ </select>
١٨ </form>
١٩ </html>

: ‫ﺷﺮح اﻟﻜﻮد‬
‫ وﻫﻮ اﻟﺠﺰء اﻟﻤﺤﺎط ﺑﺎﻟﻮن اﻷزرق و ذﻟﻚ ﺑﺈﺗﺒﺎع اﻟﺨﻄﻮات‬HTML ‫ﯾﺘﻢ إﻧﺸﺎء اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ وذﻟﻚ ﺑﻠﻐﺔ اﻟـ‬
: ‫اﻟﺘﺎﻟﯿﺔ‬
‫< وﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ‬form name="pulldownMenu"> ‫ وﻫﻮ‬tag ‫ وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﻛﺘﺎﺑﺔ اﻟـ‬Form ‫ﯾﺘﻢ إﻧﺸﺎء اﻟـ‬
‫ < وﻫﻮ‬select > tag ‫ ﺛﻢ ﺑﻌﺪ ذﻟﻚ اﺳﺘﺨﺪﻣﻨﺎ اﻟـ‬pulldownMenu ‫ وﺗﻢ ﺗﺴﻤﯿﺘﻪ‬Form ‫ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟـ‬
، ‫اﻟﺬي ﯾﻘﻮم ﺑﺈﻧﺸﺎء اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ واﻟﯿﻚ ﻫﺬا اﻻﻣﺮ‬
‫< وﻣﻦ ﺛﻢ ﺳﻤﯿﻨﺎ ﻫﺬه اﻟﻘﺎﺋﻤﺔ ﺑﺎﻻﺳﻢ‬select name="yourSelect" onChange="formHandler()">
‫ وﻫﻮ ﺣﺪث ﺗﻐﯿﺮ ﻗﯿﻤﺔ ﻣﻌﯿﻨﺔ ﻟﺤﻘﻞ‬onChang() ‫ ﺑﺎﻹﺿﺎﻓﺔ أﻧﻪ إﺿﻔﻨﺎ ﻋﻨﺪ اﻻﺧﺘﯿﺎر اﻟﺤﺪث‬yourSelect
‫ ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﻧﻘﻮم ﺑﻮﺿﻊ اﻟﺨﯿﺎرات‬، ‫ واﻟﺘﻲ ﺳﻮف ﻧﺸﺮﺣﻬﺎ ﺑﻌﺪ ﻗﻠﯿﻞ‬formHandler() ‫ﻣﺎ ﺑﺤﯿﺚ ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ‬
value ‫ وﻫﻲ‬attribute ‫ < وﺑﻌﺪ ذﻟﻚ ﻧﻀﻊ ﻟﻜﻞ أﺧﺘﯿﺎر ﻗﯿﻤﺘﻪ ﻋﻦ ﻃﺮﯾﻖ اﻟـ‬option > tag ‫ﻋﻦ ﻃﺮﯾﻖ اﻟـ‬
‫ﺣﯿﺚ ﯾﺤﺘﻮي ﻫﺬا اﻻﻣﺮ‬. <option value="http://www.msn.com">MSN ‫وأﺣﺪ اﻟﺨﯿﺎرات اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻤﺜﺎل‬
. http://www.msn.com ‫ ( اﻟﺘﺎﻟﯿﺔ‬value ) ‫ واﻟﺬي ﻟﻪ اﻟﻘﯿﻤﺔ‬MSN ‫ﻋﻠﻰ اﻟﺨﯿﺎر‬

٢٥
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫وﻫﻮ اﻟﺠﺰء اﻟﻤﺤﺎط ﺑﺎﻟﻮن اﻻﺣﻤﺮ وﻫﻮ اﻟﺠﺰء اﻟﺨﺎص ﺑﺎﻟﺠﺎﻓﺎ‬ ‫)(‪testform‬‬ ‫واﻻن ﺳﻮف ﻧﺘﺤﺪث ﻋﻦ اﻟﺪاﻟﺔ‬
‫ﺳﻜﺮﯾﺒﺖ‪:‬‬
‫ﻧﻼﺣﻆ ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ )(‪ formHandler‬ﻧﻘﻮم ﺑﺎﻟﺘﺎﻟﻲ أوﻻً ﻧﻘﻮم ﯾﺘﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ ﺳﻤﯿﻨﺎه ‪ URL‬وﺟﻌﻠﻨﺎه ﯾﺴﺎوي‬
‫اﺳﻢ اﻟﻔﻮرم ﺑﺈﺿﺎﻓﺔ إﻟﻰ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ وإﯾﻀﺎ اﻟﺨﯿﺎر اﻟﺬي ﺗﻢ أﺧﺘﯿﺎرة ﻣﻊ اﻟﻘﯿﻤﺔ اﻟﺘﻲ ﻣﻊ ﻫﺬا اﻟﺨﯿﺎر‪.‬‬
‫ﺛﻢ ﺑﻌﺪ ذﻟﻚ أﺳﺘﺨﺪام ﻫﺬا اﻟﻤﺘﻐﯿﺮ واﻟﺬي ﯾﺤﺘﻮي ﻋﻠﻰ اﺳﻢ ﻣﻮﻗﻊ ﻣﺎ ﻣﺜﻼً ‪ http://www.yahoo.com‬ﺣﯿﺚ ﺳﻮف‬
‫ﻧﺴﺘﺨﺪم ﻫﺬه اﻟﺠﻤﻠﺔ ‪ window.location.href=URL‬ﺣﯿﺚ ﺳﺎوﯾﻨﺎﻫﺎ ﻣﻊ اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺑﻪ اﺳﻢ ﻣﻮﻗﻊ ﻣﺎ وﻫﺬه‬
‫اﻟﺠﻤﻠﺔ ﺳﻮف ﺗﻘﻮم ﺑﺎﻻﻧﺘﻘﺎل إﻟﻰ ﻫﺬا اﻻرﺗﺒﺎط أو اﻟﺼﻔﺤﺔ اﻟﻤﻮﺟﻮدة ﻓﻲ ﻫﺬا اﻟﻤﺘﻐﯿﺮ‬

‫‪٢٦‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫اﻷﺣﺪاث‬
‫ﻣﻘﺪﻣﺔ ‪:‬‬

‫اﻟﻮﯾﻨﺪوز ﻫﻮ ﻣﺤﯿﻂ رﺳﺎﺋﻠﻲ ﯾﺘﻢ إرﺳﺎل رﺳﺎﻟﺔ ﻋﻨﺪ ﺣﺪوث ﺣﺪث ﻣﺜﻞ ﻣﺮور اﻟﻤﺎوس ﻓﻮق ﺻﻮرة أو ﻓﻮق زر‬
‫ﻣﻌﯿﻦ أو اﻟﺘﺮﻛﯿﺰ ﻋﻠﻰ ﻧﺎﻓﺬة أو ﺿﻐﻂ اﻟﺰر اﻷﯾﻤﻦ أو اﻷﯾﺴﺮ أو اﻷوﺳﻂ ﻟﻠﻤﺎوس وﻫﻜﺬا ﻧﺴﺘﻐﻞ ﻫﺬه اﻷﺣﺪاث‬
‫ﻟﺘﻨﺸﯿﻂ ﺟﺰء أو ﻛﻞ ﻣﻦ ﺑﺮﻧﺎﻣﺞ ﺟﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ ﻟﯿﻘﻮم ﺑﻌﻤﻞ وﻇﺎﺋﻔﻪ اﻟﻤﺼﻤﻢ ﻣﻦ اﺟﻠﻬﺎ وﺳﻨﺘﻌﺮض ﻣﻌﺎ ﺑﻌﺾ‬
‫اﻷﻣﺜﻠﺔ واﻷﺣﺪاث ﻟﺸﺮح اﻟﻔﻜﺮة ‪:‬‬

‫اﻟﺤﺪث‬ ‫ﺷﺮح اﻟﺤﺪث‬


‫)(‪onClick‬‬ ‫اﺳﺘﺠﺎﺑﺔ ﻟﻀﻐﻂ زر ﯾﺘﻢ ﺗﺤﺪﯾﺪه ﻋﻨﺪﻫﺎ ﯾﻨﻔﺬ ﺟﺰء ﻣﻦ اﻟﻜﻮد‬
‫)(‪onSubmit‬‬ ‫ﺗﺴﺘﺨﺪم ﻛﺜﯿﺮا اﺳﺘﺠﺎﺑﺔ ﻟﻀﻐﻂ اﻟﻤﺎوس أو ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ﻋﻠﻰ زر إرﺳﺎل اﻟﻨﻤﺎذج‬
‫)(‪onMouseOver‬‬ ‫ﻫﻮ ﺣﺪث ﻣﺮور اﻟﻤﺎوس ﻓﻮق ﻋﻨﻮان أو وﺻﻠﺔ‬
‫)(‪onMouseOut‬‬ ‫ﺣﺪث ﺗﺤﺮﯾﻚ اﻟﻤﺎوس ﺑﻌﯿﺪا ﻋﻦ وﺻﻠﺔ‬
‫)(‪onFocus‬‬ ‫ﺣﺪث وﺿﻊ اﻟﻤﺎوس ﻋﻠﻰ ﺣﻘﻞ ﻣﺪﺧﻼت ﻣﻌﯿﻨﻪ‬
‫)(‪onChange‬‬ ‫ﺣﺪث ﺗﻐﯿﺮ ﻗﯿﻤﺔ ﻣﻌﯿﻨﻪ ﻟﺤﻘﻞ‬
‫)(‪onBlur‬‬ ‫ﺣﺪث ﺗﺮك ﺣﻘﻞ ﺑﯿﺎﻧﺎت ﺑﺪون ﺗﻐﯿﯿﺮ‬
‫)(‪onLoad‬‬ ‫ﺣﺪث اﻧﺘﻬﺎء ﻣﺘﺼﻔﺢ اﻹﻧﺘﺮﻧﺖ ﻣﻦ ﺗﺤﻤﯿﻞ اﻟﺼﻔﺤﺔ اﻟﺤﺎﻟﯿﺔ‬
‫)(‪onUnload‬‬ ‫ﺣﺪث اﻟﺨﺮوج ﻣﻦ اﻟﺼﻔﺤﺔ اﻟﺤﺎﻟﯿﺔ إﻟﻰ‬

‫و اﻵن ﺳﻮف ﻧﺄﺧﺬ أﻣﺜﻠﺔ ﺗﻮﺿﺢ ﻛﯿﻔﯿﺔ أﺳﺘﺨﺪم اﻷﺣﺪاث ﻓﻲ ﺻﻔﺤﺔ اﻟﻮﯾﺐ أرﺟﻮ أن ﺗﻨﺘﻘﻞ إﻟﻰ اﻟﺼﻔﺤﺔ اﻟﺘﺎﻟﯿﺔ‪.‬‬

‫‪٢٧‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
: onClick() ‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪث‬
No Statements
١ <html>
٢ <head>
٣ <title>Onclick alert message</title>
٤ <script language="javascript">
٥ function pushbutton()
٦ {
٧ alert("‫;)"ﲢﺖ اﻹﻧﺸﺎء‬
٨ }
٩ </script>
١٠ </head>
١١ <body>
١٢ <center>
١٣ <h2>
١٤ <a href=" http://www.cool.com" onClick="pushbutton();">
١٥ Vist our home page </a></h2>
١٦ </center>
١٧ </body>
١٨ </html>

‫ "ﻋﻨﺪ اﻟﺤﺪث اﻟﻀﻐﻂ اﻟﻔﺄرة‬http://www.cool.com" ‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ اﻟﻘﯿﺎم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻻرﺗﺒﺎط‬
. "‫ واﻟﺘﻲ ﺗﻘﻮم ﺑﺈﻇﻬﺎر اﻟﺮﺳﺎﻟﺔ " ﺗﺤﺖ اﻹﻧﺸﺎء‬pushbutton() ‫ " ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ‬onClick() "
: ‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‬

٢٨
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
: onSubmit() ‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪث‬
No Statements
١ <html><head>
٢ <title>onSubmit alert message </title>
٣ <SCRIPT LANGUAGE="javascript">
٤ <!--
٥ function testform()
٦ {
٧ alert("‫;)"ﻧﺸﻜﺮك ﻟﺘﺴﺠﯿﻞ ﻣﻌﻨﺎ ﰲ اﳌﻮﻗﻊ‬
٨ }
٩ -->
١٠ </SCRIPT>
١١ </head>
١٢ <body>
١٣ <form method=post onSubmit="return testform()">
١٤ <tabel>
١٥ <tr>
١٦ <td>Name : </td>
١٧ <td><input type="text" name="name" ></td></tr>
١٨ <p><tr><td>Email :</td>
١٩ <td><input type="text" name="Email" ></td></tr>
٢٠ </tabel>
٢١ <p>
٢٢ <input type="submit" name="‫ "إرﺳﺎل‬value="submit">
٢٣ </form>
٢٤ </body>
٢٥ </html>

‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﺳﻮف ﻧﻘﻮم ﺑﺈﻇﻬﺎر رﺳﺎﻟﺔ ﻟﻤﺴﺘﺨﺪم ﻋﻨﺪ اﻟﻘﯿﺎم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ زر إرﺳﺎل ﻓﻲ اﻟـ‬
testform() ‫ " وذﻟﻚ ﻻﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ‬onSubmit() "‫ ﻟﺬﻟﻚ ﺳﻮف ﻧﺴﺘﺨﺪم اﻟﺤﺪث‬form
. " ‫واﻟﺘﻲ ﺗﻘﻮم ﺑﺈﻇﻬﺎر رﺳﺎﻟﺔ ﻟﻠﻤﺴﺘﺨﺪم وﻫﻲ " ﻧﺸﻜﺮك ﻟﺘﺴﺠﯿﻞ ﻣﻌﻨﺎ ﻓﻲ اﻟﻤﻮﻗﻊ‬

: ‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‬

٢٩
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪﺛﯿﻦ )(‪ onMouseOver‬و)(‪: onMouseOut‬‬
‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html><head‬‬
‫‪٢‬‬ ‫>‪<title>Onclick alert message</title‬‬
‫‪٣‬‬ ‫>"‪<script language="javascript‬‬
‫‪٤‬‬ ‫)(‪function MouseOver‬‬
‫‪٥‬‬ ‫{‬
‫‪٦‬‬ ‫;)"‪alert("The mouse was over‬‬
‫‪٧‬‬ ‫}‬
‫‪٨‬‬ ‫)(‪function MouseOut‬‬
‫‪٩‬‬ ‫{‬
‫‪١٠‬‬ ‫;)"‪alert("The mouse out of the link‬‬
‫‪١١‬‬ ‫}‬
‫‪١٢‬‬ ‫>‪</script‬‬
‫‪١٣‬‬ ‫>‪</head‬‬
‫‪١٤‬‬ ‫>‪<body‬‬
‫‪١٥‬‬ ‫>‪<center‬‬
‫‪١٦‬‬ ‫>‪<h2‬‬
‫‪١٧‬‬ ‫>";)(‪<a href="http://www.com" onMouseOver="MouseOver‬‬
‫‪١٨‬‬ ‫>‪Event win mouse over this link</a></h2‬‬
‫‪١٩‬‬ ‫>‪<hr‬‬
‫‪٢٠‬‬ ‫>‪<p‬‬
‫‪٢١‬‬ ‫>";)(‪<a href="http:/www.com" onMouseOut="MouseOut‬‬
‫‪٢٢‬‬ ‫>‪Event win mouse out of this link </a‬‬
‫‪٢٣‬‬ ‫>‪</center‬‬
‫‪٢٤‬‬ ‫>‪</body‬‬
‫‪٢٥‬‬ ‫>‪</html‬‬

‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ اﻟﻘﯿﺎم ﺑﺎﻟﻤﺮور ﺑﺎﻟﻔﺄرة ﻋﻠﻰ وﺻﻠﺔ أو إرﺗﺒﺎط وﻫﻮ اﻟﺤﺪث‬
‫)(‪ " onMouseOver‬ﺣﯿﺚ ﺳﻮف ﻧﺴﺘﻔﯿﺪ ﻣﻦ ﻫﺬا اﻟﺤﺪث ﻓﻲ اﺳﺘﺪﻋﺎء داﻟﺔ ﻣﻜﺘﻮﺑﺔ ﺑﺎﻟﺠﺎﻓﺎ‬
‫ﺳﻜﺮﯾﺒﺖ وذﻟﻚ ﻟﻨﺘﻔﯿﺬ أي داﻟﺔ ﺗﺮﯾﺪﻫﺎ ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﺳﻮف ﻧﻘﻮم ﺑﺈﻇﻬﺎر رﺳﺎﻟﺔ ﺗﻨﺒﻪ اﻟﻤﺘﺴﺨﺪم‬
‫ﺑﻤﺮور اﻟﻔﺄرة ﻓﻮق اﻻرﺗﺒﺎط أو اﻟﻮﺻﻠﺔ وﻓﻲ ﻣﺜﺎﻟﻨﺎ اﻟﺮﺳﺎﻟﺔ ﻫﻲ " ‪" The mouse was over‬‬

‫وﻓﻲ اﻟﻮﺻﻠﺔ اﻻﺧﺮى ﻋﻨﺪ اﻟﻤﺮور وﻣﻦ ﺛﻢ اﻻﺑﺘﻌﺎد ﺑﺎﻟﻔﺄرة ﻋﻦ وﺻﻠﺔ أو ارﺗﺒﺎط وﻫﻮ اﻟﺤﺪث‬
‫)(‪ " MouseOut‬ﺣﯿﺚ ﺳﻮف ﻧﺴﺘﻔﯿﺪ ﻣﻦ ﻫﺬا اﻟﺤﺪث ﻓﻲ اﺳﺘﺪﻋﺎء داﻟﺔ ﻣﻜﺘﻮﺑﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﯾﺒﺖ‬
‫وذﻟﻚ ﻟﻨﺘﻔﯿﺬ أي داﻟﺔ ﺗﺮﯾﺪﻫﺎ ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﺳﻮف ﻧﻘﻮم ﺑﺈﻇﻬﺎر رﺳﺎﻟﺔ ﺗﻨﺒﻪ اﻟﻤﺘﺴﺨﺪم ﺑﻤﺮور‬
‫اﻟﻔﺄرة ﻓﻮق اﻻرﺗﺒﺎط أو اﻟﻮﺻﻠﺔ و ﻣﻦ ﺛﻢ اﻻﺑﺘﻌﺎد ﻋﻦ اﻟﻮﺻﻠﺔ أو اﻻرﺗﺒﺎط وﻓﻲ ﻣﺜﺎﻟﻨﺎ اﻟﺮﺳﺎﻟﺔ‬
‫ﻫﻲ " ‪" The mouse was over‬‬

‫‪٣٠‬‬

‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬


‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ ‪:‬‬

‫‪٣١‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
: onFocus() ‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪث‬
No Statements
١ <html><head>
٢ <title>onFocus alert message</title>
٣ <SCRIPT LANGUAGE="javascript">
٤ </SCRIPT>
٥ <body>
٦ Enrter your name:
٧ <form>
٨ <INPUT TYPE="TEXT" NAME "YourName" onFocus = "window.status=('Enter
your name');return true;">
٩ </form>
١٠ </center>
١١ <body>
١٢ </html>

"onFocus()" ‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ اﻟﻘﯿﺎم ﺑﻮﺿﻊ اﻟﻤﺆﺷﺮ داﺧﻞ اﻟﺤﻘﻞ وﻫﻮ اﻟﺤﺪث‬
. " Enrter your name " ‫ﺗﻈﻬﺮ ﻟﻨﺎ رﺳﺎﻟﺔ ﻓﻲ أﺳﻔﻞ اﻟﻤﺴﺘﻌﺮض‬

: ‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‬

٣٢
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
: onChange() ‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪث‬
No Statements
١ <html><head>
٢ <title>onChange alert message</title>
٣ <SCRIPT LANGUAGE="javascript">
٤ </SCRIPT>
٥ <body>
٦ Enter your name:
٧ <form>
٨ <INPUT TYPE="TEXT" NAME= "YourName" onChange="window.status=('you was
change the filed');return true;">
٩ </form>
١٠ </center>
١١ <body>
١٢ </html>

"onChange() ‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ ﺗﻐﯿﯿﺮ ﻣﻜﺎن اﻟﻤﺆﺷﺮ ﻋﻦ اﻟﺤﻘﻞ " اﻟﻘﯿﺎم ﺑﺎﻟﺤﺪث‬
. "you was change the filed " ‫ﺗﻈﻬﺮ ﻟﻨﺎ رﺳﺎﻟﺔ ﻓﻲ أﺳﻔﻞ اﻟﻤﺴﺘﻌﺮض‬

: ‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‬

٣٣
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
: onBlur() ‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪث‬
No Statements
١ <html><head>
٢ <title> onBlur alert message</title>
٣ <SCRIPT LANGUAGE="javascript">
٤ </SCRIPT>
٥ <body>
٦ Enter your name:
٧ <form>
٨ <INPUT TYPE="TEXT" NAME= "YourName" onBlur = "window.status=('youe
leaf the filed empty');return true;">
٩ </form>
١٠ </center>
١١ <body>
١٢ </html>

"onBlur() ‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ ﺗﺮك اﻟﺤﻘﻞ ﻓﺎرﻏﺎً " اﻟﻘﯿﺎم ﺑﺎﻟﺤﺪث‬
. "you leaf the filed empty " ‫ﺗﻈﻬﺮ ﻟﻨﺎ رﺳﺎﻟﺔ ﻓﻲ أﺳﻔﻞ اﻟﻤﺴﺘﻌﺮض‬

: ‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‬

٣٤
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻣﺜﺎل ﻋﻠﻰ اﻟﺤﺪﺛﯿﻦ )(‪ onLoad‬و)(‪: onUnload‬‬
‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<html><head‬‬
‫‪٢‬‬ ‫>‪<title>onLoad & onUnload alert message</title‬‬
‫‪٣‬‬ ‫>"‪<script language="javascript‬‬
‫‪٤‬‬ ‫)(‪function onloadweb‬‬
‫‪٥‬‬ ‫{‬
‫‪٦‬‬ ‫;)"أﻫﻼ ﺑﻜﻢ ﰲ ﻣﻮﻗﻌﻨﺎ"(‪alert‬‬
‫‪٧‬‬ ‫}‬
‫‪٨‬‬ ‫)(‪function onUnloadweb‬‬
‫‪٩‬‬ ‫{‬
‫‪١٠‬‬ ‫;)"ﻧﺸﻜﺮﻛﻢ ﻋﻠﻰ زﯾﺎرة ﻣﻮﻗﻌﻨﺎ"(‪alert‬‬
‫‪١١‬‬ ‫}‬
‫‪١٢‬‬ ‫>‪</script‬‬
‫‪١٣‬‬ ‫>‪</head‬‬
‫‪١٤‬‬ ‫>")(‪<body onLoad="onloadweb()" onUnload="onUnloadweb‬‬
‫‪١٥‬‬ ‫>‪<h1></center‬ﺑﺴﻢ اﷲ اﻟﺮﲪﻦ اﻟﺮﺣﯿﻢ>‪<center><h1‬‬
‫‪١٦‬‬ ‫>‪</body‬‬
‫‪١٧‬‬ ‫>‪</html‬‬

‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ اﻟﻘﯿﺎم ﺑﺘﺤﻤﯿﻞ اﻟﺼﻔﺤﺔ وﻫﻮ اﻟﺤﺪث " )(‪" onLoad‬‬
‫ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ )(‪ onloadweb‬ﻓﺘﻈﻬﺮ ﻟﻨﺎ رﺳﺎﻟﺔ " أﻫﻼ ﺑﻜﻢ ﻓﻲ ﻣﻮﻗﻌﻨﺎ " ‪.‬‬
‫وﻋﻨﺪ اﻟﻘﯿﺎم ﺑﺈﻏﻼق اﻟﺼﻔﺤﺔ ) اﻟﻤﺴﺘﻌﺮض ( و ﻫﻮ اﻟﺤﺪث )(‪" onUnload‬‬
‫ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ )(‪ onUnloadweb‬ﻓﺘﻈﻬﺮ ﻟﻨﺎ رﺳﺎﻟﺔ " ﻧﺸﻜﺮﻛﻢ ﻋﻠﻰ زﯾﺎرة ﻣﻮﻗﻌﻨﺎ " ‪.‬‬

‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ ‪:‬‬

‫‪٣٥‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﺑﻌﺾ اﻷﻣﺜﻠﺔ ﻣﺘﻨﻮﻋﺔ‬
‫ﻣﺜﺎل ﻋﻦ ﻛﯿﻔﯿﺔ اﻟﺘﻨﻘﻞ ﺑﯿﻦ اﻟﻌﻨﺎوﯾﻦ اﻟﻤﺨﺰﻧﺔ ﻓﻲ اﻟﻤﺘﺼﻔﺢ ‪:‬‬
‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<HTML‬‬
‫‪٢‬‬ ‫>‪<HEAD‬‬
‫‪٣‬‬ ‫>‪<TITLE> History Buttons </TITLE‬‬
‫‪٤‬‬ ‫>"‪<SCRIPT LANGUAGE="JavaScript‬‬
‫‪٥‬‬ ‫};)‪function nav(X){ history.go(X‬‬
‫‪٦‬‬ ‫>‪</SCRIPT‬‬
‫‪٧‬‬ ‫>‪</<HEAD‬‬
‫‪٨‬‬ ‫>‪<BODY‬‬
‫‪٩‬‬ ‫>‪<CENTER><h1>Histoy Buttons</h1‬‬
‫‪<h2> Here are the tow buttons made with navigator form buttons:‬‬
‫‪١٠‬‬ ‫>‪</h2><P‬‬
‫‪١١‬‬ ‫>‪<FORM‬‬
‫‪١٢‬‬ ‫>")‪" onClick="nav(-1‬اﻟﺼﻔﺤﺔ اﻟﺴﺎﺑﻘﺔ"=‪<INPUT TYPE="button" VALUE‬‬
‫‪١٣‬‬ ‫>")‪" onClick="nav(1‬اﻟﺼﻔﺤﺔ اﻟﺘﺎﻟﯿﺔ"=‪<INPUT TYPE="button" VALUE‬‬
‫‪١٤‬‬ ‫>‪</FORM‬‬
‫‪١٥‬‬ ‫>‪</CENTER‬‬
‫‪١٦‬‬ ‫>‪</BODY‬‬
‫‪١٧‬‬ ‫>‪</HTML‬‬

‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻗﻤﻨﺎ ﺑﻌﺮض ﻃﺮﯾﻘﺘﯿﻦ ﻟﺘﻨﻘﻞ ﺑﯿﻦ اﻟﻌﻨﺎوﯾﻦ اﻟﻤﺨﺰﻧﺔ ﻓﻲ اﻟﻤﺘﺼﻔﺢ ﺣﯿﺚ ﺳﻮف‬
‫ﻧﺴﺘﻔﯿﺪ ﻣﻦ اﻟﻜﺎﺋﻦ ‪ history‬واﯾﻀﺎ اﻟﺪاﻟﺔ ) (‪ go‬ﺣﯿﺚ ﯾﺘﻢ ﺗﻤﺮﯾﺮ ﻗﯿﻤﺔ ‪ ١-‬إذا أردﻧﺎ اﻟﺮﺟﻮع‬
‫ﺻﻔﺤﺔ إﻟﻰ اﻟﺨﻠﻒ أو اﻟﻘﯿﻤﺔ ‪ ١‬إذا أردﻧﺎ اﻻﻧﺘﻘﺎل اﻟﺼﻔﺤﺔ اﻟﺘﺎﻟﯿﺔ‪ .‬وﻓﻲ ﻣﺜﺎﻟﻨﺎ ﻋﻨﺪاﻟﺤﺪث اﻟﻀﻐﻂ‬
‫ﻋﻠﻰ زر " اﻟﺼﻔﺤﺔ اﻟﺴﺎﺑﻘﺔ " ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ ) ‪ nav( 1-‬ﺣﯿﺚ ﯾﺘﻢ اﻻﻧﺘﻘﺎل إﻟﻰ اﻟﺼﻔﺤﺔ اﻟﻮﯾﺐ‬
‫اﻟﺴﺎﺑﻘﺔ‪.‬و اﯾﻀﺎ ﻋﻨﺪاﻟﺤﺪث اﻟﻀﻐﻂ ﻋﻠﻰ زر " اﻟﺼﻔﺤﺔ اﻟﺘﺎﻟﯿﺔ " ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ ) ‪nav( 1‬‬
‫ﺣﯿﺚ ﯾﺘﻢ اﻻﻧﺘﻘﺎل إﻟﻰ اﻟﺼﻔﺤﺔ اﻟﻮﯾﺐ اﻟﺘﺎﻟﯿﺔ ‪.‬‬
‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ ‪:‬‬

‫‪٣٦‬‬
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬
‫ﻣﺜﺎل ﻋﻦ ﻛﯿﻔﯿﺔ إﻧﺸﺎء زر ﻹرﺳﺎل ﺑﺮﯾﺪ إﻟﻜﺘﺮوﻧﻲ ‪:‬‬
‫‪No‬‬ ‫‪Statements‬‬
‫‪١‬‬ ‫>‪<HTML‬‬
‫‪٢‬‬ ‫>‪<HEAD‬‬
‫‪٣‬‬ ‫>‪<title> Email button</title‬‬
‫‪٤‬‬ ‫>‪</HEAD‬‬
‫‪٥‬‬ ‫>‪<BODY‬‬
‫‪٦‬‬ ‫>‪<FROM‬‬
‫"‪<INPUT TYPE="button" VALUE="send e-mail‬‬
‫‪٧‬‬ ‫>";'‪onClick="self.location='mailto:mymail@any_compeny.com‬‬
‫‪٨‬‬ ‫>‪</FORM‬‬
‫‪٩‬‬ ‫>‪</BODY‬‬
‫‪١٠‬‬ ‫>‪</HTML‬‬

‫ﻋﻨﺪ اﻟﺤﺪث ‪ onClick‬ﺳﻮف ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ‪ self.location‬وﻫﺬا اﻷﻣﺮ ﯾﻘﻮم ﺑﺈرﺳﺎل‬
‫اﻟﻤﺴﺘﺨﺪم إﻟﻰ ﺑﺮﻧﺎﻣﺞ اﻟﺒﺮﯾﺪ اﻻﻟﻜﺘﺮوﻧﻲ اﻻﻓﺘﺮاﺿﻲ اﻟﻤﻮﺟﻮد ﻋﻠﻰ اﻟﻜﻤﺒﯿﻮﺗﺮ ‪ ،‬واﻟﻌﻨﻮان ﻓﻲ‬
‫ﺣﻘﻞ " إرﺳﺎل إﻟﻰ " وﻓﻲ ﻣﺜﺎﻟﻨﺎ ﯾﺘﻢ ﻓﻲ ﻫﺬا اﻟﺤﻘﻞ ﻛﺘﺎﺑﺔ ‪. mymail@any_compeny.com‬‬

‫إﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‪:‬‬

‫‪٣٧‬‬

‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬


: ‫ﻣﺜﺎل ﻋﻦ ﻛﯿﻔﯿﺔ ﻓﺤﺺ و اﺧﺘﺒﺎر اﻟﻤﺘﺼﻔﺢ‬
No Statements
١ <HTML>
٢ <HEAD>
٣ <TITLE> testing All Browsers</TITLE>
٤ <SCRIPT>
٥ function browsertest()
٦ {
٧ thisapp=navigator.appName
٨ thisversion=navigator.appVersion
٩ thisappcodename=navigator.appCodeName
١٠ alert("Youare using "+thisapp+"version"+thisversion+",which is code
named"+thisappcodename+".");
١١ }
١٢ </SCRIPT>
١٣ </HEAD>
١٤ <BODY onload="browsertest()" bgcolor="FFFFFF">
١٥ <CENTER>
١٦ <H1> Testing All Browsers</H1>
١٧ <H2>You can modigy this script and use it to direct your JavaScript
visitors in one direction .and other visitors elsewhere.</H2>
١٨ </CENTER>
١٩ </BODY>
٢٠ </HTML>

‫ ﺣﯿﺚ‬browsertest() ‫ ﯾﺘﻢ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﺔ‬onload ‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻋﻨﺪ ﺗﺤﻤﯿﻞ اﻟﺼﻔﺤﺔ أي اﻟﺤﺪث‬
‫ واﻟﺨﺎﺻﯿﺔ‬، navigator ‫ﺗﻘﻮم ﻫﺬه اﻟﺪاﻟﺔ ﺑﻔﺤﺺ واﺧﺘﺒﺎر اﻟﻤﺘﺼﻔﺢ وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ اﻟﻜﺎﺋﻦ‬
appName
: ‫ ﺣﯿﺚ‬appCodeName ‫ و‬appVersion ‫و‬
‫ ﺳﻮف ﺗﻘﻮم ﺑﺈرﺟﺎع اﺳﻢ اﻟﻤﺘﺼﻔﺢ‬navigator.appName ‫ﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ‬
‫ ﺳﻮف ﺗﻘﻮم ﺑﺈرﺟﺎع إﺻﺪار اﻟﻤﺘﺼﻔﺢ‬navigator.appVersion ‫وﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ‬
. ‫ ﺳﻮف ﺗﻘﻮم ﺑﺈرﺟﺎع اﻻﺳﻢ اﻟﺒﺮ ﻣﺠﻲ‬navigator.appCodeName ‫وﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ‬

: ‫اﻟﯿﻚ اﻟﺘﻨﻔﯿﺬ‬

٣٨
‫ﻣﺤﻤﺪ ﺻﺪﻳﻖ ﺣﺴﻦ‬

You might also like