Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore كتاب-الجافا-سكريبت-www.edlibre.com_ (1)

كتاب-الجافا-سكريبت-www.edlibre.com_ (1)

Published by Bnswaad, 2021-01-26 00:25:50

Description: كتاب-الجافا-سكريبت-www.edlibre.com_ (1)

Search

Read the Text Version

‫ﻣﺜﺎل ‪:‬‬ ‫>‪<html‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫;))‪document.write(Math.sqrt(9‬‬ ‫;)\">‪document.write(\"<br /‬‬ ‫;))‪document.write(Math.max(10,2‬‬ ‫;)\">‪document.write(\"<br /‬‬ ‫;))‪document.write(Math.sin(1.0‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫ﺑﺸﻜﻞ ﻋﺎم ﻫﻜﺬا ﺗﻜﺘﺐ ال ) ‪ ( Math Object‬ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ ‪..‬‬ ‫ﻓﺠﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ اﻻوﻟﻰ ﺳﻮف ﺗﻄﺒﻊ اﻟﺠﺬر اﻟﺘﺮﺑﯿﻌﻲ ﻟﻠﻌﺪد ) ‪ ( 9‬ﺛﻢ وﺿﻌﺖ ال ) >‪ ( <br /‬ﺑﻤﻔﺮده ﻓﻲ ﺟﻤﻠﺔ‬ ‫ﻃﺒﺎﻋﺔ ﻟﻜﻲ ﻻ ﯾﺨﺘﻠﻂ ﻋﻠﯿﻚ اﻻﻣﺮ وذﻟﻚ ﻟﻜﻲ ﻧﻨﺰل ﺳﻄﺮا ﺟﺪﯾﺪا ﺛﻢ ﺗﺎﺗﻲ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ اﻟﺜﺎﻟﺜﺔ ﺗﻄﺒﻊ ﻟﻨﺎ اﻟﺮﻗﻢ‬ ‫اﻻﻛﺒﺮ ﺑﯿﻦ اﻟﺮﻗﻤﯿﻦ اﻟﺬﯾﻦ وﺿﻌﻨﺎﻫﻤﺎ ﺛﻢ وﺿﻌﻨﺎ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ اﻟﺜﺎﻟﺜﺔ واﻟﺘﻲ ﻫﻲ ﻧﺰول ﺳﻄﺮ ﺟﺪﯾﺪ \" ﺑﺪاﯾﺔ ﺳﻄﺮ‬ ‫ﺟﺪﯾﺪ \" ﺛﻢ وﺿﻌﻨﺎ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ اﻟﺮاﺑﻌﺔ واﻟﺘﻲ ﺳﻮف ﺗﻄﺒﻊ ﻟﻨﺎ ﺟﯿﺐ اﻟﺮﻗﻢ واﺣﺪ ‪...‬‬ ‫ﻣﻼﺣﻈﺔ ‪:‬‬ ‫ﻟﻮ اردت ان ﺗﻌﻤﻞ ﻣﻘﺎرﻧﻪ ﺑﯿﻦ ﺛﻼﺛﺔ ارﻗﺎم واﻟﺨﺮوج ﺑﺎﻻﻛﺒﺮ وﻗﺘﻬﺎ ﺗﻜﺘﺐ ﻫﻜﺬا ‪:‬‬ ‫)‪Math.max(Math.max(4,5), 6‬‬ ‫‪١‬‬ ‫اﻟﺨﻄﻮة اﻻوﻟﻰ‬ ‫ﻧﺨﺮج اﻻﻛﺒﺮ ﻣﻦ ﻫﻨﺎ‬ ‫اﻟﺨﻄﻮة اﻟﺜﺎﻧﯿﺔ‬ ‫وﯾﻜﻮن رﻗﻢ ‪٢ ٥‬‬ ‫ﻧﻘﺎرن ﺑﯿﻦ‬ ‫اﻟﺮﻗﻤﯿﻦ ‪ ٥‬و ‪٦‬‬ ‫‪٤٦‬‬

‫ﻫﻨﺎ ﻛﺎﻧﻨﺎ ﻧﻘﻮل اﺧﺮج اﻟﺮﻗﻢ اﻻﻛﺒﺮ ﻓﻲ ال )‪ ( Math Object‬اﻟﺬي ﻓﻲ اﻟﺪاﺧﻞ اي ﺑﯿﻦ اﻟﺮﻗﻤﯿﻦ ) ‪ 4‬و ‪( 5‬‬ ‫وﻣﻦ ﺛﻢ ﻃﺒﻖ ال ) ‪ ( Math Object‬اﻟﺬي ﻓﻲ اﻟﺨﺎرج وﻫﻮ ﺳﻮف ﯾﻜﻮن ﺑﯿﻦ اﻟﺮﻗﻤﯿﻦ ) ‪ ( 5‬اﻟﺬي ﺧﺮج ﻣﻦ ال‬ ‫) ‪ ( Math Object‬اﻟﺘﻲ ﻓﻲ اﻟﺪاﺧﻞ وﺑﯿﻦ اﻟﺮﻗﻢ ) ‪ ( 6‬اﻟﺬي ﻓﻲ ال ) ‪ ( Math Object‬ﻓﻲ اﻟﺨﺎرج اي‬ ‫اﻟﺮﺋﯿﺴﯿﺔ ‪..‬‬ ‫‪ -‬اذا اردﻧﺎ ان ﻧﺨﺮج اﻟﺮﻗﻢ اﻻﻛﺒﺮ ﺑﯿﻦ ارﺑﻌﺔ ارﻗﺎم ﺗﻜﺘﺐ اﻟﺼﯿﻐﺔ ﻫﻜﺬا ‪:‬‬ ‫‪ -‬اي ﻫﻨﺎ ﻧﺎﺧﺬ ﻛﻞ ﻋﻤﻠﯿﺔ ﻋﻠﻰ ﺣﺪى وﻛﺎﻧﻬﺎ ﻟﻮﺣﺪﻫﺎ ‪...‬‬ ‫))‪Math.max(Math.max(4,5),Math.max(11,20‬‬ ‫ﻧﺎﺗﺞ اﻟﻌﻤﻠﯿﺔ‬ ‫رﻗﻢ ‪١‬‬ ‫‪٥ ٢٠‬‬ ‫‪١‬‬ ‫ﻧﺎﺗﺞ اﻟﻌﻤﻠﯿﺔ‬ ‫‪٢٠‬‬ ‫رﻗﻢ ‪٢ ٢‬‬ ‫‪٣‬‬ ‫ﻧﺎﺗﺞ اﻟﻌﻤﻠﯿﺔ‬ ‫رﻗﻢ ‪٣‬‬ ‫§ ﺗﻤﺎرﯾﻦ إﺿﺎﻓﯿﺔ ﻋﻠﻰ اﻟﺪوال اﻟﺮﯾﺎﺿﯿﺔ ‪:‬‬ ‫اﻟﻘﯿﻤﺔ‬ ‫اﻟﻮﺻﻒ‬ ‫اﻟﺜﺎﺑﺖ‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪2.718‬‬ ‫ﻗﯿﻤﺔ ﺛﺎﺑﺘﺔ‬ ‫‪Math.E‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪0.693‬‬ ‫‪Math.LN2‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪2.302‬‬ ‫اﻟﻠﻮﻏﺎرﯾﺜﻢ اﻟﻄﺒﯿﻌﻲ ﻟـ )‪(2‬‬ ‫‪Math.LN10‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪1.442‬‬ ‫اﻟﻠﻮﻏﺎرﯾﺜﻢ ﻟﻄﺒﯿﻌﻲ ﻟـ )‪(10‬‬ ‫‪Math.LOG2E‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪0.434‬‬ ‫‪Math.LOG10E‬‬ ‫اﻟﺠﺬر اﻟﺘﺮﺑﯿﻌﻲ ﻟـ )‪(2.0‬‬ ‫‪Math.PI‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪3.141592653589793‬‬ ‫‪Math.SQRT1_2‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪0.707‬‬ ‫‪Math.SQRT2‬‬ ‫ﺗﻘﺮﯾﺒﺎ ﺗﺴﺎوي ‪1.414‬‬ ‫§ ‪: Methods of the String Object‬‬ ‫اﻟﻮﺻﻒ‬ ‫اﻟﻄﺮﯾﻘﺔ‬ ‫)‪ charAt(index‬ﯾﺮﺟﻊ اﻟﺤﺮف اﻟﻤﺤﺪد ﺑﺎﻟـ )‪(index‬‬ ‫)‪ charCodeAt(index‬ﯾﺮﺟﻊ ﺷﯿﻔﺮة اﻟﺤﺮف اﻟﻤﺤﺪد ﺑﺎﻟـ )‪(index‬‬ ‫ﯾﺪﻣﺞ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ اﻟـ )‪ (string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻻﻣﺮ‬ ‫)‪ (concat) concat(string‬ﻣﻊ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ اﻟـ )‪ (string‬اﻟﺬي‬ ‫ﺑﯿﻦ اﻟﻘﻮﺳﯿﻦ اي اﻟﺬي ﺑﻌﺪ )‪(concat‬‬ ‫‪ fromCharCode(value1,value2‬ﯾﺤﻮل اﻻرﻗﺎم اﻟﻤﺤﺪدة ﺑﯿﻦ اﻻﻗﻮاس اﻟﻰ ﻗﯿﻤﺘﻬﺎ اﻟﺤﺮﻓﯿﺔ‬ ‫)…‪,‬‬ ‫اﻟﺒﺤﺚ ﻋﻦ اﻟﻨﺺ اﻟﻤﺤﺪدة ﻓﻲ )‪ (substring‬ﻣﻦ ﺑﻌﺪ‬ ‫)‪indexOf(substring,index‬‬ ‫اﻟﻤﻮﻗﻊ رﻗﻢ )‪ (index‬ﻣﻦ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ اﻟـ‬ ‫)‪(string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻷﻣﺮ‪.‬‬ ‫وﯾﺮﺟﻊ أول ﻣﻮﻗﻊ ﯾﺤﺘﻮي ﻋﻠﻰ أول ﺣﺮف ﻣﻦ اﻟﻨﺺ‬ ‫اﻟﻤﺤﺪد ﻓﻲ )‪ (substring‬ﻣﻦ اﻟـ )‪(string‬‬ ‫)‪ lastIndexOf(substring, index‬اﻟﺒﺤﺚ ﻋﻦ اﻟﻨﺺ اﻟﻤﺤﺪدة ﻓﻲ )‪ (substring‬ﻣﻦ ﻗﺒﻞ‬ ‫اﻟﻤﻮﻗﻊ رﻗﻢ )‪ (index‬ﻣﻦ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ اﻟـ‬ ‫‪٤٧‬‬

‫)‪(string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻷﻣﺮ‪.‬‬ ‫)‪slice(start,end‬‬ ‫وﯾﺮﺟﻊ أول ﻣﻮﻗﻊ ﯾﺤﺘﻮي ﻋﻠﻰ أول ﺣﺮف ﻣﻦ اﻟﻨﺺ‬ ‫)‪split(string‬‬ ‫اﻟﻤﺤﺪد ﻓﻲ )‪ (substring‬ﻣﻦ اﻟـ )‪(string‬‬ ‫ﯾﺮﺟﻊ اﻟﻨﺺ ﻣﻦ اﻟﻤﻮﻗﻊ )‪ (start‬اﻟﻰ )‪ (end‬ﻣﻦ اﻟـ‬ ‫)‪ (string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻷﻣﺮ‬ ‫ﺗﻘﺴﯿﻢ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ )‪ (string‬اﻟﻰ ﻣﺠﻤﻮﻋﺔ‬ ‫ﻛﻠﻤﺎت ﻧﺤﻦ ﻧﺤﺪد ﻛﯿﻔﯿﺘﻬﺎ ‪.‬‬ ‫ﯾﺮﺟﻊ اﻟﻨﺺ اﻟﻤﺤﺪد ﻣﻦ اﻟﻤﻮﻗﻊ )‪ (start‬وﻋﺪد أﺣﺮﻓﻪ‬ ‫)‪ (length) substr(start,length‬ﻣﻦ اﻟـ )‪ (string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻷﻣﺮ ‪.‬‬ ‫ﯾﺮﺟﻊ اﻟﻨﺺ اﻟﻤﺤﺪد ﻣﻦ اﻟﻤﻮﻗﻊ )‪ (start‬اﻟﻰ اﻟﻤﻮﻗﻊ‬ ‫)‪substring(start,end‬‬ ‫)‪(end‬‬ ‫)(‪toLowerCase‬‬ ‫ﯾﺤﻮل اﻟـ )‪ (string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻷﻣﺮ اﻟﻰ ﺣﺮوف‬ ‫)(‪toUpperCase‬‬ ‫اﻧﺠﻠﯿﺰﯾﺔ ﺻﻐﯿﺮة ‪.‬‬ ‫)(‪toString‬‬ ‫ﯾﺤﻮل اﻟـ )‪ (string‬اﻟﻤﺤﺪد ﻗﺒﻞ اﻷﻣﺮ اﻟﻰ ﺣﺮوف‬ ‫)(‪valueOf‬‬ ‫اﻧﺠﻠﯿﺰﯾﺔ ﻛﺒﯿﺮة ‪.‬‬ ‫)‪anchor(name‬‬ ‫)(‪blink‬‬ ‫ﯾﺮﺟﻊ ﻧﻔﺲ اﻟـ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ اﻟـ )‪(string‬‬ ‫)(‪fixed‬‬ ‫ﯾﺮﺟﻊ ﻧﻔﺲ اﻟـ اﻟﻨﺺ اﻟﻤﺤﺪد ﻓﻲ اﻟـ )‪(string‬‬ ‫)‪link(url‬‬ ‫ﯾﻌﻤﻞ ﻋﻤﻞ )>‪(<a> name </a‬‬ ‫)(‪strike‬‬ ‫ﯾﻌﻤﻞ ﻋﻤﻞ ) >‪(<blink>…</blink‬‬ ‫ﯾﻌﻤﻞ ﻋﻤﻞ )>‪ (<tt>…</tt‬أي اﻟﻜﺘﺎﺑﺔ ﻋﻠﻰ ﺷﻜﻞ آﻟﺔ‬ ‫)(‪sub‬‬ ‫ﻃﺎﺑﻌﺔ‬ ‫ﯾﻌﻤﻞ ﻋﻤﻞ )>‪(<a>…</a‬‬ ‫ﯾﻌﻤﻞ ﻋﻤﻞ )> ‪ (<strick>…</strick‬أي ﯾﻀﻊ ﺧﻂ‬ ‫ﻓﻲ وﺳﻂ اﻟﻜﻼم‬ ‫ﯾﻌﻤﻞ ﻋﻤﻞ )>‪ (<sub>…</sub‬أي اﻟﻜﺘﺎﺑﺔ ﺗﺤﺖ‬ ‫اﻟﺴﻄﺮ‬ ‫)(‪ sup‬ﯾﻌﻤﻞ ﻋﻤﻞ )>‪ (<sup> … </sup‬أي اﻟﻜﺘﺎﺑﺔ ﻓﻮق‬ ‫اﻟﺴﻄﺮ‬ ‫ﻣﺜﺎل ‪:‬‬ ‫>\"‪<html dir=\"rtl‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫;\"‪var a =\"samialr‬‬ ‫;) )‪ \" + a.charAt(0‬اﻃﺒﻊ اﻟﺤﺮف اﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻤﻮﻗﻊ ﺻﻔﺮ >‪document.write(\"<p‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫‪٤٨‬‬

‫§ ‪ Date Object‬ﺧﺎﺻﻪ ﺑﺎﻟﻮﻗﺖ واﻟﺘﺎرﯾﺦ ‪:‬‬ ‫وﻫﻲ ﻛﺎﺋﻨﺎت ﺧﺎﺻﻪ ﺑﺎﻟﻮﻗﺖ اي ﺗﻘﻮم ﺑﻌﻤﻠﯿﺎت ذات ﻋﻼﻗﻪ ﺑﺎﻟﻮﻗﺖ ﻣﻦ ﺟﻠﺐ ووﺿﻊ ‪.‬‬ ‫ﻃﺮﯾﻘﺔ ﺗﻌﺮﯾﻔﻪ ‪:‬‬ ‫) (‪var a = new Date‬‬ ‫اﻟﻮﺻﻒ‬ ‫اﻟﻄﺮﯾﻘﺔ‬ ‫ﯾﻌﻮد ﺑﺎﻻرﻗﺎم ﻣﻦ ‪ ١‬اﻟﻰ ‪ ٣١‬ﺣﺴﺐ اﻟﯿﻮم‬ ‫)(‪getDate‬‬ ‫ﯾﻌﻮد ﺑﺎﻻرﻗﺎم ﻣﻦ ‪ ١‬اﻟﻰ ‪ ٣١‬ﺣﺴﺐ اﻟﯿﻮم‬ ‫)(‪getUTCDate‬‬ ‫ﯾﻌﻮد ﺑﺎﻻرﻗﺎم ﻣﻦ ‪ \" 0‬اﻷﺣﺪ \" اﻟﻰ ‪ \" 6‬اﻟﺴﺒﺖ \"‬ ‫ﯾﻌﻮد ﺑﺎﻻرﻗﺎم ﻣﻦ ‪ \" 0‬اﻷﺣﺪ \" اﻟﻰ ‪ \" 6‬اﻟﺴﺒﺖ \"‬ ‫)(‪getDay‬‬ ‫)(‪getUTCDay‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺴﻨﺔ ﻣﻦ أرﺑﻌﺔ أرﻗﺎم‬ ‫)(‪getFullYear‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺴﻨﺔ ﻣﻦ أرﺑﻌﺔ أرﻗﺎم‬ ‫)(‪getUTCFullYear‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺴﺎﻋﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪23‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺴﺎﻋﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪23‬‬ ‫)(‪getHours‬‬ ‫)(‪getUTSHours‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﻤﯿﻠﻲ ﺛﺎﻧﯿﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪999‬‬ ‫)(‪getMilliseconds‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﻤﯿﻠﻲ ﺛﺎﻧﯿﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪999‬‬ ‫)(‪getUTCMilliSecond‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺪﻗﯿﻘﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪59‬‬ ‫)(‪getMinutes‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺪﻗﯿﻘﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪59‬‬ ‫)(‪getUTCMinutes‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺸﻬﺮ ﻣﻦ ‪\" 0‬ﯾﻨﺎﯾﺮ\" اﻟﻰ ‪ \" 11‬دﯾﺴﻤﺒﺮ\"‬ ‫)(‪getMonth‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺸﻬﺮ ﻣﻦ ‪\" 0‬ﯾﻨﺎﯾﺮ\" اﻟﻰ ‪ \" 11‬دﯾﺴﻤﺒﺮ\"‬ ‫)(‪getUTCMonth‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺜﺎﻧﯿﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪59‬‬ ‫)(‪getSeconds‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﺜﺎﻧﯿﺔ ﻣﻦ ‪ 0‬اﻟﻰ ‪59‬‬ ‫)(‪getUTCSeconds‬‬ ‫ﺳﻮف ﻧﺸﺮح ﺑﻌﺾ ﻣﻨﻬﺎ اﺛﻨﺎء اﻟﻤﺜﺎل وﻫﺬا ﻟﻜﻲ ﺗﺼﻠﻚ ﺑﺸﻜﻞ اﻓﻀﻞ وﻣﺎ ﯾﻄﺒﻖ ﻋﻠﻰ اﻟﺒﻌﺾ ﯾﻄﺒﻖ ﻋﻠﻰ‬ ‫اﻟﺒﻘﯿﺔ ‪..‬‬ ‫)‪setDate(val‬‬ ‫)‪setUTCDate(val‬‬ ‫)‪setFullYear(y,m,d‬‬ ‫)‪setUTCFullYear(y,m,d‬‬ ‫)‪setHours(h,m,s,ms‬‬ ‫)‪setUTCHours(h,m,s,ms‬‬ ‫‪٤٩‬‬

‫ﯾﻌﻮد ﺑﺎﻟﻮﻗﺖ واﻟﺘﺎرﯾﺦ ﺑﺎﻟﺘﻔﺼﯿﻞ‬ ‫)‪setMilliSeconds(ms‬‬ ‫ﯾﻌﻮد ﺑﺎﻟﻮﻗﺖ واﻟﺘﺎرﯾﺦ ﺑﺎﻟﺘﻔﺼﯿﻞ‬ ‫)‪setUTCMilliSeconds(ms‬‬ ‫)‪setMinutes(m,s,ms‬‬ ‫)‪setUTCMinutes(m,s,ms‬‬ ‫)‪setMonth(m,d‬‬ ‫)‪setUTCMonth(m,d‬‬ ‫)‪setSeconds(s,ms‬‬ ‫)‪setUTCSeconds(s,ms‬‬ ‫)‪setTime(ms‬‬ ‫)(‪toLocaleString‬‬ ‫)(‪toUTCString‬‬ ‫ﻟﻨﺘﻌﺮف ﻛﯿﻒ ﻧﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺎذﻛﺮﻧﺎه ﻓﻲ اﻟﺠﺪول ‪:‬‬ ‫وﻟﻜﻦ ﻗﺒﻞ ذﻟﻚ ﻟﻨﺄﺧﺬ ﻓﻜﺮة ﺳﺮﯾﻌﺔ ﻋﻦ ﻣﺎﻫﻮ اﻟﻤﺘﻐﯿﺮ اﻟﻨﺼﻲ اﻟﺘﺎﻟﻲ ) ‪. ( string‬‬ ‫ﺻﯿﻐﺘﻪ ‪:‬‬ ‫; \" ‪var a = \" thamer‬‬ ‫أي ﺗﻌﺮف ﻣﺘﻐﯿﺮ ) ‪ ( a‬وﻧﻀﻊ ﺑﺪاﺧﻠﻪ ﻧﺺ وﻟﻜﻲ ﺗﺨﺒﺮ ان ﻫﺬا ﻧﺺ ﻧﻀﻌﻪ ﺑﯿﻦ ) \" ( ‪.‬‬ ‫ﻣﻼﺣﻈﺎت ﻋﻠﻰ ﻫﺬا اﻟﻤﺘﻐﯿﺮ ‪:‬‬ ‫‪ -١‬أي ﺷﻲ ﯾﺴﻨﺪ ﻟﻠﻤﺘﻐﯿﺮ وﯾﻜﻮن ﺑﯿﻦ ) \" ( ﺳﻮف ﻧﺄﺧﺬه ﻋﻠﻰ أﺳﺎس أﻧﻪ ﻧﺺ ﺣﺘﻰ ﻟﻮ ﻛﺎن رﻗﻢ ‪.‬‬ ‫ﻣﺜﺎل ‪:‬‬ ‫; \" ‪var a = \" 123‬‬ ‫ﻫﺬا ﻻﻧﺄﺧﺬه ﻛﻘﯿﻤﺔ رﻗﻤﯿﺔ إﻃﻼﻗﺎ ﺑﻞ ﻧﺺ ﻟﯿﺲ ﻟﻪ ﻗﯿﻤﺔ رﻗﻤﯿﺔ ‪.‬‬ ‫ﻣﺜﺎل آﺧﺮ ‪:‬‬ ‫; \" ‪var a = \"ab12‬‬ ‫ﻫﺬا ﻋﺒﺎرة ﻋﻦ ﻧﺺ ﻛﯿﻒ ﻋﺮﻓﻨﺎ ذﻟﻚ ﻻن اﻟﺮﻗﻢ ﺟﺎء ﺑﯿﻦ ) \" ( ﺣﺘﻰ اﻻﺣﺮف ‪.‬‬ ‫‪ -٢‬اﻟﻌﻼﻣﺎت او اﻟﺮﻣﻮز إذا ﺟﺎﺋﺖ ﻓﻲ ال ) ‪ ( string‬ﺗﻌﺘﺒﺮ ﻧﺺ وأﯾﻀﺎ اﻟﻔﺮاغ ﯾﻌﺘﺒﺮ ﺣﺮف إذا ﺟﺎز اﻟﺘﻌﺒﯿﺮ ‪.‬‬ ‫ﻣﺜﺎل ‪:‬‬ ‫; \" @‪var a = \"ab c12‬‬ ‫ﻫﺬى اﻟﻤﺴﺎﻓﺔ ﺗﻌﺘﺒﺮ ﺣﺮف )\" @( أي أﻧﻬﺎ ﺗﺄﺧﺬ ﻣﻮﻗﻊ ﻓﻲ ال ) ‪ ( Memory‬ﻫﻮ ﻣﻮﻗﻊ اﻟﺴﺎدس إﺑﺘﺪاﺋﺎ ﻣﻦ‬ ‫اﻟﺼﻔﺮ ‪.‬‬ ‫إذا ﻟﻨﻨﺘﻘﻞ اﻷن اﻟﻰ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺎذﻛﺮﻧﺎه ﺑﺎﻟﺠﺪول ‪.‬‬ ‫‪٥٠‬‬

‫ﺻﯿﻐﺔ ﻛﺘﺎﺑﺘﻬﺎ ‪:‬‬ ‫ﺑﻤﺎ أﻧﻨﺎ ﻧﺘﺤﺪث ﻋﻦ ﻃﺮق ﺗﻄﺒﻖ ﻋﻠﻰ اﻟﻜﺎﺋﻨﺎت اﻟﻨﺼﯿﺔ إذا ﯾﺠﺐ أن ﻧﻜﻮن ﻟﺪﯾﻨﺎ ﻣﺘﻐﯿﺮ ﻧﺼﻲ أي ) ‪( string‬‬ ‫ﻟﻨﺠﺮي ﻋﻠﯿﻪ ﻣﺎﻧﺮﯾﺪ ﻣﻦ اﻟﻄﺮق ﺳﺎﻟﻔﺔ اﻟﺬﻛﺮ ﻓﻲ اﻟﺠﺪول إذا ‪:‬‬ ‫‪ -١‬ﻧﻌﺮف أول ﺷﻲ ﻣﺘﻐﯿﺮ ﻧﺼﻲ ) ‪.( string‬‬ ‫; \" ‪var a = \" Javascript‬‬ ‫‪ -٢‬اﻷ ن ﻧﻄﺒﻖ ﻋﻠﯿﻪ ال ) ‪ ( Methods‬ﻛﯿﻒ ذﻟﻚ ‪:‬‬ ‫ﻫﻨﺎ ﺗﻜﻮن اﻟﺼﯿﻐﺔ اﻟﺘﻰ ﺗﺮﯾﺪ أن ﺗﻄﺒﻘﻬﺎ ﻋﻠﻰ اﻟﻨﺺ ‪.‬‬ ‫ﻣﺜﺎل ‪:‬‬ ‫) ذﻛﺮ اﻟﻔﻬﺮس أو اﻟﻤﺘﻐﯿﺮ أو اﻟﻨﺺ أو اﻟﻘﯿﻤﺔ ( أﺳﻢ اﻟﻄﺮﯾﻘﺔ ‪ .‬أﺳﻢ اﻟﻤﺘﻐﯿﺮ اﻟﻨﺼﻲ ) ‪.( string‬‬ ‫ﻟﻨﺄﺧﺬ ﺷﻜﻼن وﻧﺮى ‪:‬‬ ‫‪ -١‬ﻧﻌﺮف ﻣﺘﻐﯿﺮ ﻧﺼﻲ‬ ‫; \" ‪var a = \"Javascript‬‬ ‫‪ -٢‬ﻧﻀﯿﻒ اﻟـ ) ‪( Methods of the string object‬‬ ‫)‪a . substring(0,4‬‬ ‫أﺧﺒﺮﻧﺎه أﻧﻨﺎ ﻧﺮﯾﺪ أن ﯾﻄﺒﻊ ﻟﻨﺎ أﺣﺮف ﻣﻦ اﻟﻤﻮﻗﻊ ﺻﻔﺮ ﻣﻦ اﻟﻤﺘﻐﯿﺮ اﻟﻨﺼﻲ ) ‪ ( a‬ﺑﻄﻮل ) ‪ ( 4‬أي أﻃﺒﻊ‬ ‫اﻟﺤﺮوف ﻓﻲ اﻟﻤﻮﻗﻊ ) ‪ 0‬و ‪ 1‬و ‪ 2‬و ‪ ( 3‬إذا ﺳﻮف ﯾﻄﺒﻊ ﺧﻤﺴﺔ أﺣﺮف‪ ...‬وﻫﻲ ) ‪.( Java‬‬ ‫• ﻟﻨﺄﺧﺬ اﻟﺸﻜﻞ اﻻﺧﺮ اﻻن ‪:‬‬ ‫‪ -١‬ﻧﻌﺮف ﻣﺘﻐﯿﺮ ﻧﺼﻲ‬ ‫; \" ‪var a = \"Javascript‬‬ ‫‪ -٢‬ﻧﻀﯿﻒ اﻟـ ) ‪( Methods of the string object‬‬ ‫)‪a . toUpperCase(0,4‬‬ ‫وﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﺳﻮف ﯾﻄﺒﻊ ﻟﻨﺎ ﻛﻠﻤﺔ ) ‪ ( javascript‬وﻟﻜﻦ ﺑﻌﺪ ﺗﺤﻮﯾﻞ اﺣﺮﻓﻬﺎ اﻟﻰ اﻷﺣﺮف اﻻﻧﺠﻠﯿﺰﯾﺔ‬ ‫اﻟﻜﺒﯿﺮه اذا ﺳﻮف ﺗﻈﻬﺮ ﻟﻨﺎ ﺑﻌﺪ ﻃﺒﺎﻋﺘﻬﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ) ‪( JAVASCRIPT‬‬ ‫ﻗﺪ ﺗﺘﺴﺎﺋﻞ ﻟﻤﺎذ ﻟﻢ ﻧﻀﻊ ﺑﻌﺪ ) ‪ ( toUpperCase‬ﻗﯿﻤﺔ ﺑﺪاﺧﻞ اﻟﻘﻮﺳﯿﻦ ﻋﺰﯾﺰي اﻟﻤﺘﺪرب ﻓﻲ اﻟﺒﺪاﯾﺔ أﺧﺒﺮﺗﻚ‬ ‫أﻧﻚ ﺗﻀﻊ إذا ﺗﻄﻠﺐ ذﻟﻚ ‪ ..‬وﻟﻜﻦ ﯾﻮﺟﺪ ﻃﺮق ﻻﯾﺴﺘﻠﺰم وﺟﻮد ﻗﯿﻤﺔ أي ﻋﻠﯿﻚ اﻻﻟﺘﺰام ﺑﺎﻟﺠﺪول‪ ..‬ﻣﻨﻬﺎ ﻣﺜﻼ ‪:‬‬ ‫ﻧﺮﯾﺪ ﻓﻘﻂ أن ﻧﺠﻌﻞ اﻟﻨﺺ ﯾﺒﺪو ﺑﺎﻟﺤﺮوف اﻟﻜﺒﯿﺮة إذا ﻛﻞ اﻟﺬي ﻋﻠﯿﻨﺎ ذﻛﺮه أﺳﻢ اﻟﻤﺘﻐﯿﺮ اﻟﻨﺼﻲ وﻧﻘﻄﺔ ﺛﻢ ﻛﻠﻤﺔ‬ ‫) ‪ ( toUpperCase‬إذا ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺑﻤﺎ أﻧﻨﺎ ﻧﺮﯾﺪ أن ﻧﻘﻮل أﻧﻨﺎ ﻧﺮﯾﺪ أن ﻧﺠﻌﻞ اﻟﻤﺘﻐﯿﺮ اﻟﻨﺼﻲ ) ‪( a‬‬ ‫ﯾﻄﺒﻊ وﻟﻜﻦ ﻟﯿﺲ ﺑﻜﻞ أﺣﺮﻓﻪ ﺑﻞ ﺗﺮﯾﺪ أن ﯾﻄﺒﻊ ﻟﻨﺎ أرﺑﻊ أﺣﺮف ﺑﺪاﯾﺔ ﻣﻦ اﻟﻤﻮﻗﻊ ﺻﻔﺮ إذا ﻫﻨﺎ ﻧﺤﻦ ﺑﺤﺎﺟﺔ اﻟﻰ أﺳﻢ‬ ‫‪٥١‬‬

‫اﻟﻤﺘﻐﯿﺮ اﻟﻨﺼﻲ وﺛﺎﻧﻲ ﺷﻲ ﻣﻦ أي ﻣﻮﻗﻊ ﯾﺒﺪأ اﻟﻌﺪ إذا ﻫﻨﺎ ﯾﺠﺐ أن ﻧﺬﻛﺮ ﺻﻔﺮ ﺛﻢ ﯾﺠﺐ أن ﻧﻜﺘﺐ ﻛﻢ ﻃﻮل اﻟﺬي‬ ‫ﻧﺮﯾﺪه ﻣﻦ اﻟﻤﻮﻗﻊ ﺻﻔﺮ إذا ﻫﻨﺎ ﻧﺬﻛﺮ ) ‪ ( 4‬أي أرﺑﻊ ﺧﻄﻮات ﺑﺪاﯾﺔ ﻣﻦ اﻟﺼﻔﺮ ‪.‬‬ ‫>\"‪<html dir=\"rtl‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫;\" ‪var a = \" samialr‬‬ ‫;\" ‪var b = \" name‬‬ ‫;))‪\" + a.charAt (0‬ﺳﻮف ﯾﻄﺒﻊ اﻟﺤﺮف اﻟﺬي ﻓﻲ اﻟﻤﻮﻗﻊ ﺻﻔﺮ >‪document.writeln(\"<p‬‬ ‫;) )( ‪ \" + a.toUpperCase‬ﺳﻮف ﯾﻄﺒﻊ اﻟﻜﻠﻤﺔ اﻟﺘﻲ ﻓﻲ اﻟﻤﺘﻐﯿﺮ ﺑﺄﺣﺮف ﻛﺒﯿﺮة>‪document.writeln(\"<p‬‬ ‫;) )‪ \" + b.concat (a‬دﻣﺞ اﻟﻤﺘﻐﯿﺮﯾﻦ اﻟﻨﺼﯿﯿﻦ ﻟﯿﺼﺒﺢ ﻧﺺ واﺣﺪ >‪document.writeln(\"<p‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻟﻦ ﻧﺤﺘﺎج ﻟﻨﺸﺮﺣﻪ ﻟﻚ ﻻن ﺷﺮح ﻛﻞ اﻣﺮ او ﺧﻄﻮه ﻣﻮﺟﻮد داﺧﻞ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ﻣﺎ ﻋﻠﯿﻚ ﺳﻮى‬ ‫ﻗﺮاءة اﻟﻤﺜﺎل وﺗﻄﺒﯿﻘﻪ وﻓﻬﻢ ﻣﺎ ﺗﺤﺘﻮﯾﻪ ﺟﻤﻞ اﻟﻄﺒﺎﻋﺔ ﻣﻦ اواﻣﺮ وﺷﺮح ‪.‬‬ ‫• ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ) ‪ ( Date object‬أي ﻛﺎﺋﻦ اﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ إذا ﺟﺎز اﻟﺘﻌﺒﯿﺮ ‪ .‬ﻫﻨﺎ ﺗﺨﺼﺺ اﻟﻜﺎﺋﻦ‬ ‫) ‪ ( Date‬ووﺿﻊ ﻓﻲ ﻣﺘﻐﯿﺮ ﻣﻌﯿﻦ وﻣﻦ ﺛﻢ ﺗﻄﺒﯿﻘﻪ ﻋﻠﻰ اﻟﻤﺘﺼﻔﺢ ﺑﺨﺎﺻﯿﺔ أو ﺑﻄﺮﯾﻘﺔ ﻣﻦ اﻟﺨﻮاص اﻟﺘﻲ‬ ‫ذﻛﺮﻧﺎه ﻓﻲ اﻟﺠﺪول‪،‬‬ ‫• إذا ﻛﯿﻔﯿﺔ ﻛﺘﺎﺑﺘﻬﺎ ‪:‬‬ ‫‪ -١‬ﻧﻌﺮف ﻣﺘﻐﯿﺮ ﻧﻀﻊ ﺑﻪ اﻟﻜﺎﺋﻦ ) ‪ ( Date‬ﺑﻬﺬا اﻟﺸﻜﻞ ‪:‬‬ ‫;)(‪var d = new Date‬‬ ‫‪ -٢‬ﻧﻄﺒﻖ ﻣﺎﻧﺮﯾﺪه ﻣﻦ اﻟﺨﻮاص أو اﻟﻄﺮق اﻟﻤﺬﻛﻮره ﻓﻲ اﻟﺠﺪول ﻋﻠﻰ ﻫﺬا اﻟﻤﺘﻐﯿﺮ اﻟﺬي وﺿﻌﻨﺎه ‪.‬‬ ‫‪d.getDay() +1‬‬ ‫إﺳﻢ اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺧﺼﺼﻨﺎ ﻟﻪ‬ ‫اﻟﺨﺎﺻﯿﺔ اﻟﻤﻄﻠﻮب ﺗﻄﺒﯿﻘﻬﺎ ‪ -‬وﻫﻨﺎ ﻧﺮﯾﺪ ان ﯾﻄﺒﻊ ﻟﻨﺎ اﻟﯿﻮم‬ ‫اﻟﻜﺎﺋﻦ ‪Date‬‬ ‫اﻟﺬي ﺳﻮف ﯾﻄﺒﻌﻪ ﻟﻨﺎ ﺑﺎﻷرﻗﺎم‬ ‫‪٥٢‬‬

‫ﻣﻼﺣﻈﺔ ‪:‬‬ ‫وﺿﻌﻨﺎ ) ‪ ( 1+‬ﻻﻧﻪ ﯾﻄﺒﻊ ﻟﻨﺎ اﻟﯿﻮم ﻣﻦ ‪ ٠‬اﻟﻰ ‪ ٦‬وﻟﻜﻨﻨﺎ ﻧﺮﯾﺪه ﻣﻦ ‪ ١‬اﻟﻰ ‪٧‬‬ ‫وﻟﻜﻦ اﻟﺬي ﻃﺒﻘﻨﺎ ﻋﻠﯿﻪ اي اﻟﻜﺎﺋﻦ ﻫﻮ اﻟﺨﺎص ﺑﺎﻟﻄﺮق ) ‪ ( get‬ﻣﺜﻞ ) )(‪ ( getDate‬او ) )(‪( getMonth‬‬ ‫وﻫﻜﺬا ‪...‬‬ ‫وﻟﻜﻦ ﻣﺎذا ﻋﻦ ) ‪ ( set‬ﻣﺜﻞ ) )‪ ( setDate(value‬او ) )‪ ... ( setMonth(m,d‬اﻟﺦ‬ ‫أﻗﺼﺪ ﺑﻬﺎ اﻟﻘﯿﻤﺔ اﻟﺘﻲ‬ ‫أﻗﺼﺪ ﺑﻬﺎ ﻗﯿﻤﺔ اﻧﺖ ﺗﺤﺪدﻫﺎ‬ ‫ﺳﻮف ﺗﺤﺪدﻫﺎ اﻧﺖ ﻟﺘﻤﺜﻞ‬ ‫ﻟﺘﻤﺜﻞ اﻟﯿﻮم‬ ‫اﻟﺸﻬﺮ‬ ‫وﻫﻜﺬا إذا ﻫﻨﺎ ﻗﺪ ﻧﺤﺘﺎج ان ﻧﺨﺒﺮ اﻟﻤﺘﺼﻔﺢ ﺑﺎن ﯾﺤﻀﺮ ﻟﻨﺎ اﻟﺸﻬﺮ ﻣﻦ اﻟﺠﻬﺎز وﯾﻄﺒﻌﻪ ﻟﻨﺎ ﻣﺜﻞ ) ‪( getMonth‬‬ ‫ﻫﺬا ﯾﻌﻨﻲ أن ﻧﻘﻮل ﻟﻠﻤﺘﺼﻔﺢ أﻃﺒﻊ ﻟﻨﺎ اﻟﺸﻬﺮ ﺑﻌﺒﺎرة أﺧﺮى ) ‪ ( get‬ﻛﺄﻧﻨﺎ ﻧﻘﻮل أﺣﻀﺮ اﻟﺸﻬﺮ ﻣﻦ اﻟﺠﻬﺎز‬ ‫اﻟﺤﺎﺳﻮب وأﻃﺒﻌﻪ ﻟﻨﺎ ‪.‬‬ ‫أﻣﺎ ﻟﻮ أردﻧﺎ ﻧﺤﻦ أن ﻧﻀﻊ اﻟﺸﻬﺮ اﻟﺬي ﻧﺮﯾﺪه وﻟﯿﺲ اﻟﻤﻮﺟﻮد ﺑﺠﻬﺎز اﻟﺤﺎﺳﻮب ﻋﻨﺪﻫﺎ ﻧﻜﺘﺐ‬ ‫) )‪ ( setMonth(2,1‬وﺧﺎﺻﯿﺔ أو ﻃﺮﯾﻘﺔ ) )‪ ( setMonth(m,d‬ﻧﻀﻊ ﺑﺪاﺧﻠﻬﺎ ﻗﯿﻤﺘﯿﻦ ﻛﻤﺎ ﻋﺮﻓﻨﺎﻫﺎ‬ ‫ﻓﻲ اﻟﺠﺪول ‪ ...‬ﻗﯿﻤﺔ ﻟـ ) ‪ ( m‬وﺗﻌﻨﻲ ﻗﯿﻤﺔ رﻗﻢ اﻟﺸﻬﺮ اﻟﻤﻄﻠﻮب وﻗﯿﻤﺔ ﻟـ ) ‪ ( d‬وﺗﻌﻨﻲ ﻟﻨﺎ اﻟﯿﻮم ﻣﺜﻞ ﻟﻮ وﺿﻌﻨﺎ‬ ‫) ‪ ( 1‬ﻧﻌﻨﻲ ﺑﻪ ﯾﻮم اﻷﺣﺪ وﺷﺮﯾﻄﺔ أن ﻧﻀﻊ ) ‪ ( 1+‬اﻟﺨﺎﺻﯿﺔ ﻻﻧﻨﺎ ذﻛﺮﻧﺎ ﺳﺎﺑﻘﺎ أﻧﻪ داﺋﻤﺎ ﻓﻲ اﻟﻜﺎﺋﻦ أو اﻟﺘﺎرﯾﺦ‬ ‫ﯾﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ و اﻟﺼﻔﺮ ﻫﻮ اﻟﺬي ﯾﻤﺜﻞ ﯾﻮم اﻻﺣﺪ ‪ .‬إذا ﻻﺣﻈﺖ أﻧﻪ ﻋﻨﺪﻣﺎ ﻧﻜﺘﺐ ) ‪ ( get‬ﻛﻨﺎ ﻧﻘﻮل أﺣﻀﺮ ﻛﺬا‬ ‫وأﻃﺒﻌﻪ ﻛﻤﺎ ﻫﻮ وﻋﻨﺪﻣﺎ ﻧﻘﻮل ) ‪ ( set‬ﻛﺄﻧﻨﺎ ﻧﻘﻮل ﺿﻊ ﻛﺬا وﻛﺬا وﻟﻜﻦ ﻛﻤﺎ ﻧﺤﺪده ﻟﻚ ﻧﺤﻦ وﻟﯿﺲ ﻛﻤﺎ ﻫﻮ‬ ‫ﻣﻮﺟﻮد ﻓﻲ اﻟﺠﻬﺎز او اﻟﻮاﻗﻊ اﻻﻓﺘﺮاﺿﻲ ‪.‬‬ ‫ﻣﻼﺣﻈﺎت ‪:‬‬ ‫‪ -١‬داﺋﻤﺎ ﻛﻞ اﻟﺨﻮاص أو اﻟﻄﺮق ﺗﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ ﻣﺜﻼ ‪:‬‬ ‫‪ ß 0‬ﯾﻤﺜﻞ ﯾﻮم اﻻﺣﺪ ‪ ß 1 ،‬ﯾﻤﺜﻞ ﯾﻮم اﻻﺛﻨﯿﻦ ‪ ß 2 ،‬ﯾﻤﺜﻞ ﯾﻮم اﻟﺜﻼﺛﺎء ‪ ،‬وﻫﻜﺬا وﻧﻔﺲ اﻟﺸﻲ ﻣﻊ‬ ‫اﻻﺷﻬﺮ‪.‬‬ ‫‪ -٢‬ﻫﻨﺎ ﯾﻄﺒﻊ ﻟﻨﺎ داﺋﻤﺎ اﻷرﻗﺎم اﻟﺘﻲ ﺗﻤﺜﻞ اﻻﺷﻬﺮ واﻻﯾﺎم وإذا أردﻧﺎ أن ﯾﻄﺒﻌﻬﺎ ﻟﻨﺎ ﻛﺄﺳﻤﺎء ﻧﻀﻊ اﻻرﻗﺎم ﻓﻲ‬ ‫) ‪ ( switch‬وﻧﺠﻌﻠﻪ ﯾﻄﺒﻌﻬﺎ ﻟﻨﺎ ﻛﺄﺳﻤﺎء وﺳﻮف ﻧﺄﺧﺬ ﻣﺜﺎل وﻧﺮى ﻻﺣﻘﺎ ‪.‬‬ ‫>‪<html‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫; )(‪var d = new Date‬‬ ‫;))(‪ <p>\" + d.getDate‬ﻃﺒﺎﻋﺔ رﻗﻢ اﻟﯿﻮم ﻣﻦ اﻟﺸﻬﺮ>‪document.writeln(\"<p‬‬ ‫;))(‪ <p>\" + d.getMonth‬ﻃﺒﺎﻋﺔ رﻗﻢ اﻟﺸﻬﺮ>‪document.writeln(\"<p‬‬ ‫;))(‪ <p>\" + d.getFullYear‬ﻃﺒﺎﻋﺔ اﻟﺴﻨﺔ ﻟﻨﺎ ﺑﺄرﺑﻊ أرﻗﺎم >‪document.writeln(\"<p‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫‪٥٣‬‬

: ‫ﻟﻨﺄﺧﺬ ﻣﺜﺎﻻ أﺧﺮ وﻧﺤﻠﻠﻪ‬ <html > <head><title>‫<اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ‬/title> <script type = \"text/javascript\"> var c = new Date (2004 , 9 ,29 , 1 , 7, 0 ); document.writeln(\"<b>Date :</b> + \" c + \"<br>\"); c.setDate(11); c.setMonth(9); c.setHours(23); c.setFullYear(2003); c.setMinutes(50); c.setSeconds(55); document.writeln(\"<b>Dtae : </b>\" + c); </script> </head> <body></body> </html> ٥٤

‫ﻟﻨﺤﻠﻞ اﻟﻤﺜﺎل ﺳﻮﯾﺎ وﻧﺮى ‪:‬‬ ‫أول ﺷﻲ ﻋﺮﻓﻨﺎ ﻣﺘﻐﯿﺮ ﻫﻮ اﻟﻤﺘﻐﯿﺮ ) ‪ ( c‬ووﺿﻌﻨﺎ ﺑﺪاﺧﻠﻪ اﻟﻜﺎﺋﻦ ) ‪ ( Date‬ﺑﺸﻜﻞ ‪ Array‬إذا ﺟﺎز اﻟﺘﻌﺒﯿﺮ أي‬ ‫أﻧﻨﺎ وﺿﻌﻨﺎ ﺑﺪاﺧﻠﻪ ﻗﯿﻢ ﺳﻮف ﺗﺴﻨﺪ إﻟﻰ أﻣﻮر ﺧﺎﺻﺔ ﺑﺎﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ ‪.‬‬ ‫;) ‪newDate (2004 , 9 , 29 , 1 , 7, 0‬‬ ‫وﺑﻬﺬا ﻧﻜﻮن ﻋﺒﺮﻧﺎ ﻋﻦ اﻟﺴﻨﺔ ﺑﺎﻟﻘﯿﻤﺔ اﻻوﻟﻰ وﻫﻲ ‪ 2004‬وﻋﺒﺮﻧﺎ ﻋﻦ اﻟﺸﻬﺮ ﺑﺎﻟﻘﯿﻤﺔ اﻟﺜﺎﻧﯿﺔ وﻫﻲ ‪ 9‬وﻋﻦ اﻟﯿﻮم‬ ‫ﺑﺎﻟﻘﯿﻤﺔ اﻟﺜﺎﻟﺜﺔ وﻫﻲ ‪ 29‬وﻋﻦ اﻟﺴﺎﻋﺔ ﺑﺎﻟﻘﯿﻤﺔ اﻟﺮاﺑﻌﺔ وﻫﻲ ‪ 1‬وﻋﻦ اﻟﺪﻗﯿﻘﺔ ﺑﺎﻟﻘﯿﻤﺔ اﻟﺨﺎﻣﺴﺔ وﻫﻲ ‪ 7‬وﻋﻦ اﻟﺜﻮاﻧﻲ‬ ‫ﺑﺎﻟﻘﯿﻤﺔ اﻟﺴﺎدﺳﺔ وﻫﻲ ‪ . 0‬إذا ﻫﻨﺎ ﺳﻮف ﺑﺘﻌﺮف ﻋﻠﻰ اﻟﻘﯿﻢ ﻫﻜﺬا ‪ :‬ﺳﻨﺔ ‪ ,‬ﺷﻬﺮ ‪ ,‬ﯾﻮم ‪ ,‬ﺳﺎﻋﺔ ‪ ,‬دﻗﯿﻘﺔ ‪ ,‬ﺛﺎﻧﯿﺔ ‪.‬‬ ‫ﺛﻢ ﻛﺘﺒﻨﺎ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ‪:‬‬ ‫;)‪document.writeln(\"<b>Date : </b>\" + C‬‬ ‫وﺑﻬﺎ ﻧﻜﻮن ﻗﺪ ﻃﺒﻌﻨﺎ اﻟﻤﺘﻐﯿﺮ ) ‪ ( c‬أي ﺑﻤﺎ ﯾﺤﺘﻮﯾﻪ… وﻣﻨﻬﺎ ﺳﻮف ﯾﻄﺒﻊ ﻟﻨﺎ اﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ اﻟﺬي ﺣﺪدﻧﺎه ﻓﻲ ﺑﺪاﯾﺔ‬ ‫ﺑﺮﻧﺎﻣﺠﻨﺎ ﻋﻨﺪ ﺗﻌﺮﯾﻔﻨﺎ ﻟﻠﻤﺘﻐﯿﺮ ) ‪ .( c‬وﻟﻜﻦ ﻟﻨﻘﻞ أﻧﻨﺎ أردﻧﺎ أن ﻧﻐﯿﺮ اﻟﻘﯿﻢ اﻟﺘﻲ ﻋﺮﻓﻨﺎﻫﺎ ﻓﻲ ﺑﺪاﯾﺔ ﺑﺮﻧﺎﻣﺠﻨﺎ ﻟﻠﻤﺘﻐﯿﺮ‬ ‫) ‪ ( c‬أي اﻟﻮﻗﺖ واﻟﺘﺎرﯾﺦ ‪.‬ﻟﻨﺮى ﻛﯿﻒ ‪:‬‬ ‫;)‪c.setDate(11‬‬ ‫;)‪c.setMonth(9‬‬ ‫;)‪c.setHours(23‬‬ ‫;)‪c.setFullYear(2003‬‬ ‫;)‪c.setMinuites(50‬‬ ‫;)‪c.setSeconds(55‬‬ ‫ﺑﻬﺬه اﻟﻄﺮﯾﻘﺔ ﻧﻜﻮن ﻛﺄﻧﻨﺎ ﻏﯿﺮﻧﺎ ﻛﻞ ﻗﯿﻤﺔ ﻓﻲ اﻟﻤﺘﻐﯿﺮ ) ‪ ( c‬اﻟﻰ ﻫﺬه اﻟﻘﯿﻢ اﻟﺘﻰ ذﻛﺮﻧﺎﻫﺎ وﻫﻮ ﺳﻮف ﯾﻐﯿﺮﻫﺎ‬ ‫ﻣﺒﺎﺷﺮﺗﺎ ﻓﻼ ﻋﻠﯿﻚ ﺳﻮي ﻛﺘﺎﺑﺔ أﺳﻢ اﻟﻤﺘﻐﯿﺮ ﺛﻢ ﻧﻘﻄﺔ ﺛﻢ ) ‪ ( set‬وﺑﺠﺎﻧﺒﻬﺎ اﻟﺸﻲ اﻟﺬي ﻧﺮﯾﺪ ﺗﻐﯿﺮه ﺳﻮاءا ﯾﻮم‬ ‫) ‪ ( Date‬أو ﺳﻨﺔ ) ‪ ( FullYear‬وﻫﻜﺬا ‪ .‬ﺛﻢ اﻻن ﻛﺘﺒﻨﺎ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ وأﺧﺒﺮﻧﺎ اﻟﺒﺮﻧﺎﻣﺞ أن ﯾﻄﺒﻊ ﻫﻨﺎ اﻟﻤﺘﻐﯿﺮ‬ ‫) ‪ ( c‬ﻣﺮة أﺧﺮى‪.‬‬ ‫;)‪document.writeln(\"<b>Dtae : </b>\" + c‬‬ ‫وﻟﻜﻦ ﻫﻨﺎ ﺳﻮف ﯾﻄﺒﻊ اﻟﻤﺘﻐﯿﺮ اﻟﺬى ﺳﻮف ﯾﻌﺒﺮ ﻟﻨﺎ ﻋﻦ اﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ ﺑﺎﻟﻘﯿﻢ اﻟﺠﺪﯾﺪة اﻟﺘﻲ ﺣﺪدﻧﺎﻫﺎ ﻗﺒﻠﻬﺎ ‪.‬‬ ‫‪ -‬ﻋﺰﯾﺰي اﻟﻤﺘﺪرب ﻟﻘﺪ وﺿﻌﺖ ﻟﻚ ﻓﻲ ﻫﺬا اﻟﺒﺮﻧﺎﻣﺞ ﺷﻜﻠﯿﻦ ﻟﺘﺤﺪﯾﺪ اﻟﻮﻗﺖ واﻟﺘﺎرﯾﺦ ﺑﻨﻔﺴﻚ واﺣﺪة ﻣﺤﺪدة ﻣﻦ ﺑﺪاﯾﺔ‬ ‫ﺑﺮﻧﺎﻣﺠﻨﺎ ﻣﻦ ﺧﻼل ﺗﻌﺮﯾﻔﻨﺎ ﻟﻠﻤﺘﻐﯿﺮ واﻟﺜﺎﻧﯿﺔ ﻋﻨﺪﻣﺎ أردﻧﺎ ﺗﻐﯿﯿﺮ اﻟﻘﯿﻢ اﻟﺘﻰ ﯾﺤﺘﻮﯾﻬﺎ اﻟﻤﺘﻐﯿﺮ وﻫﺬا ﻟﻜﻲ ﺗﻌﻢ اﻟﻔﺎﺋﺪة‬ ‫وﺗﻌﺮف أﺑﻌﺎد اﻟﺨﺎﺻﯿﺔ ‪.‬‬ ‫إذا ﻓﻲ اﻟﻨﻬﺎﯾﺔ ﻧﺴﺘﻨﺘﺞ ﺷﻲ واﺣﺪ وﻫﻮ أن ) ‪ ( get‬ﻋﻨﺪ إﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ اﻟﺘﺎرﯾﺦ واﻟﻮﻓﺖ ﺗﺤﺪد ﻟﻨﺎ اﻟﻘﯿﻢ ﻧﻔﺴﻬﺎ ﻣﻦ‬ ‫اﻟﺠﻬﺎز أﻣﺎ اﻟـ ) ‪ ( set‬ﻧﺤﻦ ﻣﻦ ﻧﺤﺪد وﻧﻀﻌﻬﻤﺎ ﯾﺪوﯾﺎ‪.‬‬ ‫‪٥٥‬‬

: ‫ﻣﺜﺎل ﻟﻨﺮى ﻛﯿﻔﯿﺔ ﺗﺤﻮﯾﻞ أرﻗﺎم اﻻﯾﺎم اﻟﻰ اﺳﻢ اﻟﯿﻮم ﻛﺘﺎﺑﺘﺎ‬ <html dir=\"rtl\"> <head><title>‫<اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ‬/title> <script type = \"text/javascript\"> var d = new Date() ; switch( d.getDay()+1 ) { case 1 : document.writeln(\"‫;)\" ﯾﻮم اﻷﺣﺪ‬ break ; case 2 : document.writeln(\"‫;)\" ﯾﻮم اﻷﺛﻨﯿﻦ‬ break ; case 3 : document.writeln(\"‫;)\" ﯾﻮم اﻟﺜﻼﺛﺎء‬ break ; case 4 : document.writeln(\"‫;)\" ﯾﻮم اﻷرﺑﻌﺎء‬ break ; case 5 : document.writeln(\"‫;)\" ﯾﻮم اﻟﺨﻤﯿﺲ‬ break ; case 6 : document.writeln(\"‫;)\" ﯾﻮم اﻟﺠﻤﻌﺔ‬ break ; case 7 : document.writeln(\"‫;)\" ﯾﻮم اﻟﺴﺒﺖ‬ break ; } </script> </head> <body></body> </html> ٥٦

‫اﻟﻤﺜﺎل ﻻ ﯾﺤﺘﺎج اﻟﻰ ﺗﺤﻠﯿﻞ وذﻟﻚ ﻻﻧﻨﺎ ﻗﻤﻨﺎ ﺑﺸﺮح ال ) ‪ ( switch‬ﺳﺎﺑﻘﺎ ﻓﻲ اﻟﺪرس اﻟﺨﺎص ﺑﻪ وﻟﻜﻦ ﺳﻮف‬ ‫اﺿﻊ ﺑﻌﺾ اﻟﻨﻘﺎط اﻟﺮﺋﯿﺴﯿﺔ اﻟﺘﻲ ﺑﻬﺎ ﺗﻠﺨﯿﺺ ﻟﺸﺮح ﻫﺬا اﻟﺒﺮﻧﺎﻣﺞ ‪.‬‬ ‫‪ -‬ﻋﺮﻓﻨﺎ ﻣﺘﻐﯿﺮ ووﺿﻌﻨﺎ ﺑﻪ اﻟﻜﺎﺋﻦ ) ‪ ( Date‬ﺑﻬﺬا اﻟﺸﻜﻞ ‪:‬‬ ‫;)(‪var d = new Date‬‬ ‫‪ -‬وﺿﻌﻨﺎ ﺑﺪاﺧﻞ اﻟـ ) ‪ ( switch‬ﻛﻮد ﺟﻠﺐ اﻟﯿﻮم ﺑﺎﻻرﻗﺎم ) ) ‪ ( switch( d.getDay()+1‬وﺑﻌﺪ ذﻟﻚ‬ ‫ﺳﻮف ﯾﻘﺎرن اﻟﺮﻗﻢ اﻟﺬي ﺳﻮف ﯾﺴﻨﺪ اﻟﻰ اﻟـ ) ‪ ( switch‬اﻟﻰ ﺟﻤﻞ اﻟﻄﺒﺎﻋﺔ ﻟﻜﻲ ﯾﻄﺒﻊ ﻟﻨﺎ اﻟﯿﻮم ﺑﺎﻟﻠﻐﺔ اﻟﻌﺮﺑﯿﺔ‬ ‫اي ﺑﺎﺣﺮف اﻟﻠﻐﺔ اﻟﻌﺮﺑﯿﺔ وﻛﺎن ﺑﺈﻣﻜﺎﻧﻨﺎ ان ﻧﻌﺮف ﻣﺘﻐﯿﺮ ﻣﻦ ﺛﻢ ﻧﺴﻨﺪ ﻟﻪ ﻛﻮد ﺟﻠﺐ اﻟﯿﻮم ﺑﺎﻻرﻗﺎم وﻣﻦ ﺛﻢ ﻧﻀﻊ‬ ‫ﻫﺬا اﻟﻤﺘﻐﯿﺮ ﻓﻲ اﻟـ ) ‪ ( switch‬ﺑﻬﺬه اﻟﻄﺮﯾﻘﺔ‬ ‫;)(‪var d = new Date‬‬ ‫;)(‪var n = d.gateDay‬‬ ‫) ‪switch ( n‬‬ ‫{‬ ‫وﻟﻜﻨﻨﻲ اﺧﺘﺼﺮت اﻟﻄﺮﯾﻖ ووﺿﻌﺖ ﻛﻮد ﺟﻠﺐ اﻟﯿﻮم ﻣﺒﺎﺷﺮة ﻓﻲ اﻟـ ) ‪. ( switch‬‬ ‫‪٥٧‬‬

: ‫§ ﻣﻌﻠﻮﻣﺎت ﺗﻄﺒﯿﻘﯿﺔ‬ ( forms ) ‫§ ﻧﺄﺗﻲ ﻫﻨﺎ اﻟﻰ ذﻛﺮ آﺧﺮﻣﻮﺿﻮﻋﯿﻦ ﻓﻲ اﻟﻜﺘﺎب وﻫﻤﺎ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ ﻣﻊ اﻟﻨﻤﺎذج‬ ‫ ( ﻟﻜﻲ ﻻ أﻃﯿﻞ ﻋﻠﯿﻚ ﻋﺰﯾﺰي اﻟﻤﺴﺘﺨﺪم ﻓﺄﻧﺎ أﻋﻠﻢ أن‬status ) ‫واﻟﺸﻲء اﻵﺧﺮ ﻫﻮ ﻇﻬﻮر اﻟﻜﺘﺎﺑﺔ ﺿﻤﻦ ﺷﺮﯾﻂ‬ ‫اﻟﻜﺘﺎب أﺛﻘﻞ ﻋﻠﯿﻚ ﻣﻦ ﻛﺜﺮ ﻣﺎﯾﺤﺘﻮي ﻋﻠﻰ ﺷﺮح وﻟﻬﺬا ﺳﻮف أذﻛﺮ ﻣﺜﺎل وﻧﺤﻠﻠﻪ ﻣﺒﺎﺷﺮة ﻓﻜﻞ ﺷﻲء ﯾﻔﻬﻢ ﻣﻦ‬ .. ‫ﺧﻼل اﻟﺘﻄﺒﯿﻖ‬ : ‫ﻣﺜﺎل‬ ‫وﻫﻮ ﺗﻌﺒﺌﺔ ﻧﻤﻮذج ﻣﻦ ﻗﺒﻞ اﻟﻤﺴﺘﺨﺪم وﺑﻌﺪ اﻟﺘﻌﺒﺌﺔ ﯾﻀﻐﻂ ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﻣﻮاﻓﻖ ﻓﯿﻄﺒﻊ ﺑﯿﺎﻧﺎﺗﻪ ﻓﻲ ﺻﻔﺤﺔ اﻷﻧﺘﺮﻧﺖ‬ <html dir=\"rtl\"> <head><title> java script </title> <script type=\"text/javascript\"> function information() { var name=info.name.value; var job=info.job.value; var add=info.address.value; var comm=info.command.value; document.writeln(\"<table cellspasing=\\\"0\\\" cellpadding=\\\"5\\\" border=\\\"1\\\" width=\\\"80%\\\" align=\\\"center\\\" dir=\\\"rtl\\\" bgcolor=\\\"#eaeaea\\\" bordercolor=\\\"#000000\\\">\"); document.writeln(\"<caption><h3> ‫< اﻟﻤﻌﻠﻮﻣﺎت اﻟﺘﻲ ﺳﺠﻠﺘﻬﺎ ﻟﺪﯾﻨﺎ‬/h3></caption>\"); document.writeln(\"<tbody>\"); document.writeln(\"<tr><td width=\\\"30\\\"><b> ‫ اﻷﺳــــﻢ‬: </b></td><td>\" + name + \"</td></tr>\"); document.writeln(\"<tr><td width=\\\"30\\\"><b> ‫اﻟﻤﻬﻨـــﺔ‬ :</b></td><td> \" + job + \"</td></tr>\"); document.writeln(\"<tr><td width=\\\"30\\\"> <b>‫ اﻟﻌﻨــﻮان‬:</b></td><td> \" + add + \"</td></tr>\"); document.writeln(\"<tr><td width=\\\"30\\\"> <b>‫ ﻣﻼﺣﻈﺎت‬:</b></td><td> \" + comm + \"</td></tr>\"); document.writeln(\"</tbody>\"); document.writeln(\"</table>\"); } </script> </head> <body > <form name=\"info\" action=\"\"> <table cellspacing=\"0\" cellpadding=\"5\" border=\"0\" width=\"80%\" align=\"center\"> <tbody> <tr> <td>‫ اﻷﺳــــﻢ‬: </td> <td><input type=\"text\" name=\"name\" value=\"\" size=\"31\"></td> </tr> <tr> <td>‫ اﻟﻌﻨـــﻮان‬:</td> <td> <input type=\"text\" name=\"address\" value=\"\" size=\"45\"></td> </tr> <tr> <td>‫ اﻟﻤﻬﻨـــﺔ‬:</td> <td><input type=\"text\" name=\"job\" value=\"\" size=\"20\"></td> </tr> <tr> <td>‫ ﻣﻼﺣﻈـﺎت‬:</td> <td><textarea name=\"command\" rows=\"4\" cols=\"50\"></textarea></td> </tr> <tr> <td colspan=\"2\" align=\"center\"> </br> <input type=\"button\" name=\"show\" value=\"‫\"اﻋﺮض‬ onclick=\"information()\"><input type=\"reset\" name=\"del\" value=\"‫> \"ﻣﺴﺢ‬ </td> </tr> </tbody> </table></body></html> ٥5٨8

‫ﻋﺰﯾﺰي اﻟﻤﺘﺪرب ﻻ ﺗﻨﺰﻋﺞ ﻣﻦ ﻃﻮل اﻟﻜﻮد ﻓﺎﻟﻜﻮد ﻟﯿﺲ ﺑﻄﻮﻟﻪ ﺑﻞ ﺑﺄواﻣﺮه اﻟﻤﺴﺘﺨﺪﻣﻪ وﺗﻜﻨﯿﻜﻪ وﻣﻦ ﻫﻨﺎ ﻻ ارﯾﺪ‬ ‫ان اﺣﻠﻞ اﻟﻜﻮد ﻻﻧﻪ ﻻ ﯾﺤﺘﺎج ﺗﺤﻠﯿﻞ ﻓﻼ ﻋﻠﯿﻚ ﻣﻦ رﻫﺒﺔ ﻛﺜﺮﺗﻪ وﻃﻮﻟﻪ وﻣﻦ ﻫﻨﺎ ﺳﻮف اﺷﺮح ﻟﻚ اﻻﻣﻮر اﻟﺘﻲ ﺑﻬﺎ‬ ‫اﺧﺘﺼﺎراﻟﺸﺮح ﺑﺎﻟﻜﻮد ‪..‬‬ ‫اوﻻ ﻫﺬا اﻟﻜﻮد ﻟﯿﺲ ﺑﻪ اﻣﻮر ﻛﺜﯿﺮه او اواﻣﺮ ﻛﺜﯿﺮا ﺑﻞ ﻫﻮ ﺑﺴﯿﻂ اﻟﻰ اﺑﻌﺪ اﻟﺤﺪود ﻟﻨﻨﻈﺮ ﻛﯿﻒ ذﻟﻚ ‪:‬‬ ‫ﻟﻘﺪ ﻋﺮﻓﺖ اﻟﻤﺘﻐﯿﺮات ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬ ‫; ‪var name=info.name.value‬‬ ‫; ‪var job=info.job.value‬‬ ‫; ‪var add=info.address.value‬‬ ‫ﻫﻨﺎ ﺳﻮف اﺗﺠﺎوز ﺑﺸﺮﺣﻲ ﻗﻠﯿﻼ ﻋﻦ اﻟﻨﻤﻂ اﻟﺒﺮﻣﺠﻲ اﻟﺒﺤﺖ ﻟﻜﻲ ﺗﺼﻞ اﻟﻤﻌﻠﻮﻣﻪ اﻛﺜﺮ اذا ﺳﻤﺤﺖ ﻟﻲ ‪..‬‬ ‫‪5٥9٩‬‬

‫ﻫﻨﺎ ﻋﺮﻓﻨﺎ اﻟﻤﺘﻐﯿﺮات ﺑﺎﻟﺸﻜﻞ اﻟﺬي ﻧﻌﺮﻓﻪ ﻣﺜﻞ ) ‪ ( name‬و ) ‪ ( job‬و ) ‪( add‬‬ ‫وﺗﺬﻛﺮ أﺧﻲ اﻟﻤﺘﺪرب اﻧﻨﺎ ﻛﻨﺎ ﻧﻌﺮف ﻓﻲ اﻟﻤﺎﺿﻲ‪ ...‬اي ﻓﻲ اﻟﻤﺼﻔﻮﻓﺎت ﻣﺘﻐﯿﺮ ﻣﺜﻼ ) ‪ ( a‬وﯾﻜﻮن ﻫﻮ ﻋﺒﺎره ﻋﻦ‬ ‫ﻣﺼﻔﻮﻓﻪ وﻛﺎﻧﺖ ﺗﻜﺘﺐ ﺑﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬ ‫; ) (‪var a = new Array‬‬ ‫وﻣﻨﻬﺎ ﻛﻨﺎ ﻧﻌﺮف ان ﻫﺬا اﻟﻤﺘﻐﯿﺮ ﻫﻮ ﻋﺒﺎره ﻋﻦ ﻣﺼﻔﻮﻓﻪ ‪..‬‬ ‫وﻫﻨﺎ ﻧﻔﺲ اﻟﺸﻲء ﻗﻠﻨﺎ ﻣﺜﻼ اﻟﻤﺘﻐﯿﺮ ) ‪ ( name‬ﻫﻮ ﻋﺒﺎره ﻋﻦ ﻗﯿﻤﻪ ﺳﻮف ﯾﺪﺧﻠﻬﺎ اﻟﻤﺴﺘﺨﺪم ﻓﻲ اﻟﻨﻤﻮذج )‬ ‫‪ ( form‬ﻛﻤﺎ ﻛﻨﺎ ﻧﻘﻮل ان ﻫﺬا اﻟﻤﺘﻐﯿﺮ ) ‪ ( a‬ﻫﻮ ﻋﺒﺎره ﻋﻦ ﻣﺼﻔﻮﻓﻪ ‪ ..‬ﻟﻬﺬا ﻛﺘﺒﻨﺎ اﻟﻤﺘﻐﯿﺮ ) ‪ ( name‬ﺑﻬﺬا‬ ‫اﻟﺸﻜﻞ ‪:‬‬ ‫; ‪var name=info.name.value‬‬ ‫اي ﻫﻨﺎ ﻧﻘﻮل ان اﻟﻤﺘﻐﯿﺮ ) ‪ ( name‬ﻫﻮ ﻋﺒﺎره ﻋﻦ ﻗﯿﻤﻪ ﺳﻮف ﺗﻜﻮن ﻣﺪﺧﻠﻪ ﻣﻦ ﻗﺒﻞ اﻟﻤﺴﺘﺨﺪم ﻓﻲ ﺣﻘﻞ ﻣﻦ‬ ‫ﺣﻘﻮل اﻟﻨﻤﻮذج اي ال ) ‪ ( form‬واﻟﺬي ﯾﺤﻤﻞ اﺳﻢ ) ‪ ( name‬ﻟﻜﻲ ﺗﺨﺰن ﺑﺪاﺧﻠﻬﺎ ‪..‬‬ ‫اذا ﻫﻨﺎ ﻧﺄﺗﻲ ﻟﻠﺘﺴﺎؤﻟﻚ ﻋﺰﯾﺰي اﻟﻤﺘﺪرب ‪ ...‬ﻣﺎذا ﯾﻌﻨﻲ اﻟﻜﻮد اﻟﺘﺎﻟﻲ ‪:‬‬ ‫; ‪info.name.value‬‬ ‫ﻟﻨﻔﺴﺮﻫﺎ ﺳﻮﯾﺎ ‪:‬‬ ‫§ ) ‪ ( info‬وﻧﻌﻨﻲ ﺑﻬﺎ اﺳﻢ اﻟﻨﻤﻮذج اﻟﺬي ﺳﻮف ﯾﺪﺧﻞ ﺑﻪ اﻟﻤﺴﺘﺨﺪم اﻟﻘﯿﻤﻪ واﻟﺬي ﯾﻜﺘﺐ ﻓﻲ ال ) ‪( form‬‬ ‫> \" \"=‪< form name=\"info\" action‬‬ ‫ﻓﻜﻤﺎ ﺗﻌﺮف ﻓﻲ ﻟﻐﺔ ) ‪ ( html‬اﻟﻨﺼﯿﻪ ﯾﺠﺐ ان ﯾﺤﻤﻞ اﻟﻨﻤﻮذج اﺳﻢ اذا ﻫﻨﺎ ﯾﺠﺐ ان ﻧﻀﻊ ﻧﻔﺲ اﻻﺳﻢ اﻟﺬي‬ ‫ﺣﺪدﻧﺎه ‪..‬ﻟﻠﻤﺘﻐﯿﺮ ) ‪ ( name‬وﻫﺬا ﻟﻜﻲ ﻧﺨﺒﺮ ان ﻫﺬا اﻟﻤﺘﻐﯿﺮ ﻣﺘﻌﻠﻖ ﺑﺬﻟﻚ اﻟﻨﻤﻮذج ‪..‬‬ ‫§ ) ‪ ( name‬وﻧﻌﻨﻲ ﺑﻬﺎ اﻻﺳﻢ اﻟﺬي ﺳﻮف ﻧﻀﻌﻪ ﺑﺎﻟﺤﻘﻞ اﻟﺬي ﺳﻮف ﯾﺪﺧﻞ ﺑﻪ اﻟﻤﺴﺘﺨﺪم اﻟﻘﯿﻤﻪ وﻣﻦ ﺛﻢ ﺗﺨﺰن‬ ‫ﻓﻲ اﻟﻤﺘﻐﯿﺮ ) ‪ ( name‬واﻟﺘﻲ ﺗﻜﻮن ﻓﻲ اﻟﻨﻤﻮذج ﺑﻬﺬا اﻟﺸﻜﻞ ‪:‬‬ ‫> ”‪< input type=\"text\" name=\"name\" value=\"\" size=\"3‬‬ ‫وﻫﺬا ﻟﻜﻲ ﻧﻤﯿﺰ ان اﻟﺤﻘﻞ ﻫﺬا اﻟﺬي ﻓﻲ ال ) ‪ ( input‬واﻟﺬي ﺳﻮف ﯾﺪﺧﻠﻪ اﻟﻤﺴﺘﺨﺪم ﺳﻮف ﯾﺨﺰن ﻓﻲ اﻟﻤﺘﻐﯿﺮ‬ ‫اﻟﺬي اﺳﻤﻪ ) ‪ ( name‬اي اﻧﻪ ﺧﺎص ﺑﻪ ‪.‬‬ ‫§ ) ‪ ( value‬وﻧﻌﻨﻲ ﺑﻪ ان ﻫﺬه اﻟﻘﯿﻤﻪ ﺳﻮف ﯾﺪﺧﻠﻬﺎ اﻟﻤﺴﺘﺨﺪم ﻟﺬﻟﻚ ﻫﻲ ﻏﯿﺮ ﻣﻌﻠﻮﻣﻪ اﻟﻰ اﻻن ‪..‬‬ ‫‪٦6٠0‬‬

‫وﺑﻬﺬا ﺗﻜﻮن اﻟﺼﯿﻐﺔ ﻟﻠﻤﺘﻐﯿﺮ واﻟﻘﯿﻤﺔ اﻟﺘﻲ ﺳﻮف ﺗﺨﺰن ﺑﻬﺎ ﻛﺘﺎﻟﻲ ‪:‬‬ ‫; ‪var name=info.name.value‬‬ ‫إذا ﻋﺮﻓﻨﺎ ﻟﻤﺎذا ﻧﻀﻊ اﻟﻤﺘﻐﯿﺮ وﻧﺴﺎوﯾﻪ ﺑﻬﺬا اﻟﺸﻜﻞ ﻛﻤﺎ ﻓﻲ اﻟﻤﺼﻔﻮﻓﻪ وﻟﻜﻦ ﺑﺎﺧﺘﻼف اﻟﻮﻇﯿﻔﻪ وﻃﺮﯾﻘﺔ اﻟﻜﺘﺎﺑﻪ ‪..‬‬ ‫وﻣﺎ ﯾﻨﻄﺒﻖ ﻋﻠﻰ اﻟﻤﺘﻐﯿﺮ ) ‪ ( name‬ﯾﻨﻄﺒﻖ ﻋﻠﻰ اﻟﻤﺘﻐﯿﺮ ) ‪ ( job‬و ) ‪( add‬‬ ‫§ ﻗﺒﻞ ان ﻧﻨﺘﻘﻞ اﻟﻰ ﺑﻘﯿﺔ اﻟﻜﻮد ﻟﻨﺘﺴﺄل ﻫﻞ اﻟﻤﺴﻤﯿﺎت ﻫﺬه ﺛﺎﺑﺘﻪ وﯾﺠﺐ ذﻛﺮﻫﺎ داﺋﻤﺎ ‪..‬؟‬ ‫اﻟﺠﻮاب ‪ :‬ﻻ‬ ‫ﻓﻘﺪ ﻧﺄﺗﻲ وﻧﺴﻤﻲ اﻟﻤﺘﻐﯿﺮ وﻧﻜﺘﺒﻪ ﺑﻬﺬا اﻟﺸﻜﻞ‪ .‬ﻟﻨﻘﻞ ﻣﺜﻼ ﻧﺮﯾﺪ ان ﻧﺴﻤﻲ ﻣﺘﻐﺮ ﺑﺈﺳﻢ ) ‪ ( a‬ﻓﺮﺿﺎ‪ .‬اذا ﻧﻜﺘﺒﻪ ﻛﺘﺎﻟﻲ ‪:‬‬ ‫; ‪var a=myform.enter1.value‬‬ ‫إذا ﺑﻤﺎ اﻧﻨﺎ ﻏﯿﺮﻧﺎ اﻟﻤﺴﻤﯿﺎت ﯾﺠﺐ ان ﻧﺜﺒﺖ ﺑﻬﺎ ﻋﻠﻰ اﻟﻨﻤﻮذج اي ال ) ‪ ( form‬ﻟﻜﻲ ﯾﻌﺮف ان ﻫﺬا اﻟﻤﺘﻐﯿﺮ‬ ‫ﺧﺎص ﺑﻪ اذا اﻟﺘﻐﯿﺮات ﻛﺘﺎﻟﻲ ﺳﻮف ﺗﺼﺒﺢ ‪..‬‬ ‫ﺗﻌﺮﯾﻒ اﻟﻤﺘﻐﯿﺮ ‪:‬‬ ‫; ‪var a=myform.enter1.value‬‬ ‫ﻋﻨﺪ ﻛﺘﺎﺑﺘﻨﺎ ﻟﻜﻮد اﻟﻨﻤﻮذج ﻧﺬﻫﺐ و ﻧﻜﺘﺐ اﺳﻢ ال ) ‪ ( form‬ﺑﻬﺬا اﻻﺳﻢ وﻫﻮ اﻟﺬي اﺧﺘﺮﻧﺎه ﻣﻦ ﺑﺪاﯾﺔ ﺑﺮﻧﺎﻣﺠﻨﺎ \"‬ ‫‪ \" myform‬ﻛﺘﺎﻟﻲ ‪:‬‬ ‫> \" \"=‪< form name=\"myform\" action‬‬ ‫واﻟﺤﻘﻞ اﻟﺬي ﺳﻮف ﯾﺪﺧﻞ ﻣﻦ ﺧﻼﻟﻪ اﻟﻤﺴﺘﺨﺪم ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ اﻟﺘﻲ ﺳﻮف ﺗﺨﺰن ﺑﻪ ﺳﻮف ﯾﺄﺧﺬ اﺳﻢ \" ‪\" enter1‬‬ ‫ﻛﺘﺎﻟﻲ ‪:‬‬ ‫> \"‪< input type=\"text\" name=\"enter1\" value=\"\" size=\"31‬‬ ‫§ اذا ﻧﺴﺘﻨﺘﺞ اﻟﺘﺎﻟﻲ ‪:‬‬ ‫ان اﻟﻤﺴﻤﯿﺎت ﻧﺤﻦ ﻣﻦ ﻧﺤﺪدﻫﺎ وﻟﻜﻦ اذا ﺣﺪدﻧﺎﻫﺎ ﻣﻨﺬ ﺑﺪاﯾﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻠﯿﻨﺎ اﻻﻟﺘﺰام ﺑﻬﺎ اﻟﻰ اﺧﺮ اﻟﺒﺮﻧﺎﻣﺞ دون‬ ‫ﺗﻐﯿﺮ ‪..‬‬ ‫ﻧﺄﺗﻲ اﻻن اﻟﻰ اﻟﺸﻲء اﻻﺧﺮ وﻫﻮ اﻟﻜﻮد اﻟﺘﺎﻟﻲ وﻣﺎذا ﻧﻌﻨﻲ ﺑﻪ ‪:‬‬ ‫>\")(‪\" onclick=\"information‬اﻋﺮض\"=‪<input type=\"button\" name=\"show\" value‬‬ ‫اﻟﺘﺴﺎؤل ﻫﻨﺎ ﻟﻤﺎذا وﺿﻌﻨﺎ ﻓﻲ اﻟﺤﻘﻞ اﻟﺨﺎص ﺑﺎل ) ‪ ( button‬ﻫﺬا اﻟﻜﻮد ‪:‬‬ ‫\")(‪onclick=\"information‬‬ ‫‪6٦1١‬‬

‫ﻋﺰﯾﺰ اﻟﻤﺘﺪرب ﻫﻨﺎ ﺑﻤﺎ اﻧﻪ ﺣﻘﻞ ﺧﺎص ﺑﺎل ) ‪ ( button‬اذا ﯾﺠﺐ ﺑﻌﺪ ان ﯾﻀﻐﻂ ﻋﻠﯿﻪ اﻟﻤﺴﺘﺨﺪم ان ﯾﻨﻔﺬ اﻣﺮ‬ ‫ﻣﻌﯿﻦ اذا ﻫﻨﺎ ﻧﻀﻊ اﺳﻢ اﻟﺪاﻟﻪ اي ال ‪ function‬اﻟﺬي ﻛﺘﺒﻨﺎ ﺑﺪاﺧﻠﻪ اﻟﻜﻮد ﻟﻜﻲ ﯾﻨﻔﺬ اﻻواﻣﺮ اﻟﺘﻲ ﺑﺪاﺧﻠﻪ ﻟﻬﺬا‬ ‫وﺿﻌﻨﺎ ﻛﻠﻤﺔ ) ‪ ( onclick‬اي ﻣﺠﺮد ﻣﺎ ﯾﻀﻐﻂ اﻟﻤﺴﺘﺨﺪم ﻋﻠﻰ ال ) ‪ ( button‬ﻧﻔﺬ اﻟﺪاﻟﺔ اي ال )‬ ‫‪ ( function‬اﻟﻤﺴﻤﻰ ) ‪ ( information‬وﻫﻮ اﺳﻢ اﻟﺪاﻟﺔ اﻟﺘﻲ ﺳﻤﯿﻨﺎﻫﺎ ﻓﻲ اول ﺑﺮﻧﺎﻣﺠﻨﺎ ‪ ..‬وﺑﻤﺠﺮد‬ ‫اﻟﻀﻐﻂ ﻋﻠﯿﻬﺎ ﺳﻮف ﯾﻘﻮم اﻟﺒﺮﻧﺎﻣﺞ ﺑﻌﻤﻠﻪ وﻫﻮ ﺑﻨﺎء ﺟﺪول وﺑﺪاﺧﻠﻪ اﻟﻘﯿﻢ اﻟﺘﻲ ادﺧﻠﻬﺎ اﻟﻤﺴﺘﺨﺪم ‪..‬‬ ‫وﻫﻜﺬا اﻛﻮن ﻗﺪ ﺣﻠﻠﺘﻪ ﻟﻚ اﻟﻰ اﺑﻌﺪ اﻟﺤﺪود وﻛﺄﻧﻨﻲ ﺷﺮﺣﺘﻪ واﻧﺎ ارى اﻧﻨﻲ ﺷﺮﺣﺘﻪ ﻓﺄﻧﺪﻣﺠﺖ ﻓﻲ ﺷﺮﺣﻪ وﻟﻢ اﺷﻌﺮ‬ ‫ﺑﺬﻟﻚ‪..‬‬ ‫اﻣﺎ ﻟﻤﺎذا ﻟﻢ اﻛﺘﺐ ﺷﺮح ﺑﻘﯿﺔ اﻟﻜﻮد ﻓﻼ ﯾﻮﺟﺪ ﺟﺪﯾﺪ ﺑﻪ ﻓﻜﻠﻪ اواﻣﺮ ) ‪ ( document.writeln‬اي اواﻣﺮ‬ ‫ﻃﺒﺎﻋﻪ وﺿﻊ ﺑﺪاﺧﻠﻬﺎ ﻛﻮد ال ) ‪ ( html‬اﻣﺎ ﻛﯿﻔﯿﺔ ﻛﺘﺎﺑﺔ ﻛﻮد ال ) ‪ ( html‬ﺑﺪاﺧﻞ ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ ذﻛﺮﻧﺎه‬ ‫ﻓﻲ ﺑﺪاﯾﺔ ﻛﺘﺎﺑﻨﺎ ‪ ..‬ﺑﻘﻲ اﻟﻜﻮد اﻟﺬي ﻓﻲ ال ) ‪ ( body‬اي ﻓﻲ ﺟﺴﻢ اﻟﺼﻔﺤﺔ ﻫﺬا ﻋﺒﺎره ﻋﻦ ﻛﻮد ) ‪..( html‬‬ ‫§ اﻣﺎ ﻟﻤﺎذا ﻫﻨﺎ ﻛﺘﺒﻨﺎ ﻛﻮد ﻃﺒﺎﻋﺔ اﻟﺠﺪول ﻓﻲ داﺧﻞ ﻛﻮد اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ واﯾﻀﺎ ﻛﻮد ﻓﻲ اﻟﺠﺴﻢ اﻟﺼﻔﺤﺔ ‪..‬؟‬ ‫اﻟﺠﻮاب ‪:‬‬ ‫اﻻول اي ﻛﻮد اﻧﺸﺎء اﻟﺠﺪول ﻓﻲ اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ ﻗﺼﺪﻧﺎ ﺑﻪ اﻧﻪ ﯾﻨﺸﺌﻪ ﻓﻲ ﺣﺎﻟﺔ ﺗﻨﻔﯿﺬ اﻟﺪاﻟﻪ اي ﺑﻌﺪ ان ﯾﻀﻐﻂ‬ ‫اﻟﻤﺴﺘﺨﺪم ﻋﻠﻰ ال ) ‪ ( button‬وﯾﺤﺘﻮي ﺑﺪاﺧﻠﻪ اﻟﻘﯿﻢ اﻟﺘﻲ ﺳﻮف ﯾﻄﺒﻌﻬﺎ وﯾﻈﻬﺮﻫﺎ ﻟﻠﻤﺴﺘﺨﺪم اﻣﺎ اﻟﺠﺪول‬ ‫اﻻﺧﺮ اﻟﺬي ﻓﻲ ال ) ‪ ( body‬ﻫﻮ اﻟﺠﺪول اﻟﺨﺎص ﺑﺎﻟﻨﻤﻮذج اي ال ) ‪ ( form‬اﻟﺬي ﺳﻮف ﯾﻈﻬﺮ ﻟﻠﻤﺴﺘﺨﺪم‬ ‫ﻋﻨﺪ دﺧﻮﻟﻪ ﻟﻠﺼﻔﺤﺔ واﻟﺬي ﺳﻮف ﯾﻤﻸ ﺣﻘﻮﻟﻪ ﻟﺘﻨﺘﻘﻞ اﻟﻰ داﻟﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ وﯾﻨﻔﺬﻫﺎ ‪..‬‬ ‫ﻣﻼﺣﻈﺔ ‪:‬‬ ‫ﻗﺪ ﺗﺴﺘﺨﺪم ﺷﺮوط ﻣﻌﯿﻨﻪ ﺗﻠﺰم ﺑﻬﺎ ﻣﻌﺒﺊ اﻟﻔﻮرم ﺑﺎﺳﺘﺨﺪام اﺣﺮف او رﻣﻮز ﻣﻌﯿﻨﻪ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ذﻛﺮ رﻣﺰ اﻟـ )‬ ‫@ ( ﻓﻲ ﺗﻌﺒﺌﺔ اﻟﻤﺴﺘﺨﺪم ﺧﺎﻧﺔ اﻟﺒﺮﯾﺪ اﻻﻟﻜﺘﺮوﻧﻲ ﻟﻠﺘﺄﻛﺪ اﻧﻪ وﺿﻊ ﺑﺮﯾﺪ اﻟﻜﺘﺮوﻧﻲ وﻏﯿﺮﻫﺎ ﻣﻦ اﻟﺸﺮوط اﻟﺘﻲ‬ ‫أﺗﺮﻛﻬﺎ ﻟﻚ ﻟﺘﻘﻮم ﺑﻬﺎ ﺑﻨﻔﺴﻚ ﻟﻜﻲ ﻻ ﯾﻜﻮن ﻛﻞ ﺷﻲء ﺟﺎﻫﺰ داﺋﻤﺎ وﻟﻜﻦ ﺳﻮف أﻟﻤﺢ ﻟﻚ ﻛﯿﻔﯿﺔ ﻋﻤﻠﻬﺎ أﻻ ﯾﻤﻜﻨﻚ ﻋﻤﻞ‬ ‫داﻟﻪ اي ‪ function‬ﺗﻘﻮم ﺑﻔﺤﺺ ﺧﺎﻧﺔ ﻣﻌﯿﻨﻪ ﻣﺜﻼ ﺗﻔﺤﺼﻬﺎ ﺑﺠﻤﻠﺔ ‪ if‬ﺑﺪاﺧﻞ ‪ function‬وﯾﺘﻢ اﺳﺘﺪﻋﺎء ال‬ ‫‪ function‬ﻋﻨﺪ ﺗﻌﺒﺌﺔ اﻟﻤﺴﺘﺨﺪم ﺧﺎﻧﺔ ﻣﻌﯿﻨﻪ ﻣﺜﻞ ﺧﺎﻧﺔ اﻟﺒﺮﯾﺪ ﻣﺜﻼ ‪.‬‬ ‫§ واﻟﻤﺜﺎل اﻵﺧﺮ ﯾﺘﺤﺪث ﻋﻦ ﻃﺒﺎﻋﺔ ﺟﻤﻠﺔ ﻣﻌﯿﻨﺔ ﻓﻲ ﺷﺮﯾﻂ ) ‪ ( status‬واﻟﺬي ﯾﻌﺘﺒﺮ ﻣﻦ اﻟﻜﺎﺋﻦ ‪window‬‬ ‫ﺗﻤﺜﻠﻪ ﻫﺬه اﻟﺼﻮرة ‪:‬‬ ‫‪status‬ﻫﺬا ﻣﺎ أﻗﺼﺪه ﺑـ‬ ‫‪6٦2٢‬‬

‫ﻓﺈذا أردت ﻋﺰﯾﺰي اﻟﻤﺘﺪرب أن ﺗﺬﻛﺮ أي ﺟﻤﻠﺔ ﻣﻌﯿﻨﺔ ﻓﺘﻈﻬﺮ ﻓﻲ ﺷﺮﯾﻂ ) ‪ ( status‬ﺗﺴﺘﻄﯿﻊ ذﻟﻚ ﻣﻦ ﺧﻼل‬ ‫اﻻﻣﺮ ‪:‬‬ ‫; \" أﻫﻼ ﺑﻚ ﻓﻲ ﻣﻮﻗﻌﻨﺎ \" = ‪window.status‬‬ ‫أﻣﺎ إذا ﻛﻨﺖ ﺗﺮﯾﺪ أن ﯾﻈﻬﺮ ﻓﻲ ﺷﺮﯾﻂ ) ‪ ( status‬ﻣﺘﻐﯿﺮ ﻛﺄن ﯾﻈﻬﺮ ﻣﺜﻼ أﺳﻢ زاﺋﺮ ﻣﻮﻗﻌﻚ ﻓﯿﻜﺘﺐ ﺑﻬﺬا اﻟﺸﻜﻞ ‪:‬‬ ‫; ‪window.status = name‬‬ ‫وﻟﻮ أردت أن ﺗﺬﻛﺮ ﻓﻲ ﺷﺮﯾﻂ ) ‪ ( status‬ﺟﻤﻠﺔ وﻣﻦ ﺛﻢ ﻣﺘﻐﯿﺮ ﻓﺘﻜﻮن اﻟﺼﯿﻎ ﻛﻤﺎ ﯾﻠﻲ ‪:‬‬ ‫‪-١‬‬ ‫; \" أﻫﻼ ﺑﻚ ﯾﺎ \" ‪window.status = name‬‬ ‫‪.‬‬ ‫‪-٢‬‬ ‫; ‪ \" name‬ﺷﺮﻓﺖ ﻣﻮﻗﻌﻨﺎ \" = ‪window.status‬‬ ‫ﻣﺜﺎل ‪:‬‬ ‫> ‪<html‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫; \" أﻫﻼ ﺑﻚ ﻓﻲ ﻣﻮﻗﻌﻨﺎ \" = ‪window.status‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫ﻫﻨﺎ ﺗﻨﻔﯿﺬ اﻟﻤﺜﺎل‬ ‫‪6٦3٣‬‬

‫ﻻﯾﺤﺘﺎج اﻟﻰ ﺗﺤﻠﯿﻞ ﻓﺄﻧﺖ أﻋﻠﻢ ﺑﻪ ‪ .‬وﻟﻜﻦ ﻟﻨﻔﺮض ان ﻟﺪﯾﻨﺎ ﺑﻌﺾ اﻟﺠﻤﻞ اﻟﻤﻮﺟﻮده ﻓﻲ اﻟﻤﺼﻔﻮﻓﻪ وﻧﺮﯾﺪ ﻋﺮﺿﻬﺎ‬ ‫ﻓﻲ ال ‪ status‬اي ﯾﻌﺮض ﻟﻨﺎ ﺟﻤﻞ ﻣﺘﻐﯿﺮة ﺑﺎﺳﺘﻤﺮار ‪ ...‬اﺗﺮﻛﻪ ﻟﻚ ﻟﺘﻔﻜﺮ ﺑﻪ وﻟﻜﻦ أﻟﻤﺢ ﻟﻚ ﻟﺒﻌﺾ‬ ‫اﻻﺳﺘﺨﺪاﻣﺎت ﻟﺘﻨﻔﯿﺬ ذﻟﻚ‪ ..‬اوﻻ ﻧﺤﺘﺎج اﻟﻰ ﺗﻌﺮﯾﻒ ﻣﺼﻔﻮﻓﺔ ‪ Array‬واﯾﻀﺎ اﻟﻰ ﺟﻤﻠﺔ ‪ for‬واﻟﺒﻘﯿﺔ ﻋﻠﯿﻚ ‪.‬‬ ‫§ ﻟﻨﺄﺧﺬ اﯾﻀﺎ ﺑﻌﺾ ﻣﻦ اﻟﻜﺎﺋﻦ ‪ window‬ﻛﺄﻣﺜﻠﻪ وﺳﻮف اﺗﺮك ﻟﻚ ﺗﺤﻠﯿﻠﻬﺎ وﻟﻜﻦ ﺳﻮف اﺿﻊ ﺑﻌﺾ‬ ‫اﻟﺘﻌﻠﯿﻘﺎت اﻟﺘﻲ ﺳﻮف ﺗﺴﺎﻋﺪك ﻋﻠﻰ ﺗﺤﻠﯿﻞ ﻛﻞ ﻣﺜﺎل وﻟﻦ اﺿﻊ ﻟﻚ ﺻﻮرا ﻟﻬﺎ ﻟﻜﻲ ﺗﻨﻔﺬﻫﺎ اﻧﺖ ﻓﻲ ﻧﻔﺴﻚ‬ ‫وﺗﺘﺨﯿﻠﻬﺎ ‪..‬‬ ‫> ‪<html‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫‪window.open (\"www.freewebs.com\", \"new_web\", \" toolbar = no ,‬‬ ‫‪location = no , directories = no , status = no , menubar= no , scrollbars‬‬ ‫; ) \" ‪= no , resizable = no , copyhistory = yes , width = 400 , height = 400‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫ﯾﻘﻮم ﻫﺬا اﻟﺒﺮﻧﺎﻣﺞ او اﻟﻜﻮد ﺑﻔﺘﺢ ﺻﻔﺤﺔ ﺟﺪﯾﺪه ﺑﻤﺠﺮد دﺧﻮل اﻟﻤﺴﺘﺨﺪم ﻋﻠﻰ اﻟﺼﻔﺤﺔ اﻟﺘﻲ ﺑﻬﺎ ﻫﺬا اﻟﻜﻮد اﻣﺎ ﻣﺎ‬ ‫ﯾﺤﺘﻮي ﺗﻼﺣﻆ اﻧﻪ ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻜﺎﺋﻦ ‪ window‬وﺑﺪاﺧﻠﻪ اﺳﻢ اﻟﻤﻮﻗﻊ اﻟﺬي ﺳﻮف ﯾﻔﺘﺤﻪ ﻟﻠﻤﺴﺘﺨﺪم اﻣﺎ ﺑﻘﯿﺔ‬ ‫اﻻواﻣﺮ ﻫﻲ ﺧﺼﺎﺋﺺ ﺻﻔﺤﺔ اﻻﻛﺴﺒﻠﻮرر ﻣﻦ وﺟﻮد ‪ toolbar‬او ﻋﺪﻣﻪ ﻣﻦ ﺳﻤﺎح ﻟﻠﻤﺴﺘﺨﺪم ﺑﺎﻟﺘﺤﻜﻢ ﻓﻲ ﺣﺠﻢ‬ ‫اﻟﺼﻔﺤﺔ اﻟﺘﻲ ﺳﻮف ﺗﻔﺘﺢ ﻟﻪ ﺑﺎﻻﺿﺎﻓﻪ اﻟﻰ ﻃﻮل وﻋﺮض اﻟﺼﻔﺤﺔ اﻟﺘﻲ ﺗﺮﯾﺪ ان ﺗﻔﺘﺢ ﻟﻠﻤﺴﺘﺨﺪم ‪ ...‬اﻟﺦ ﺟﺮب ان‬ ‫ﺗﻐﯿﺮ ﺑﯿﻦ ال ‪ yes‬وال ‪ no‬واﻧﻈﺮ ﻣﺎذا ﺳﻮف ﯾﺤﺪث ﻓﺎﻟﻤﻌﻠﻮﻣﻪ ﺗﺼﻠﻚ ﺑﺎﻟﺘﻄﺒﯿﻖ ‪..‬‬ ‫> ‪<html‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫) (‪location.reload‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫ﯾﻘﻮم اﻟﻜﺎﺋﻦ ‪ reload‬ﻣﻦ ﺧﻼل اﻻﻣﺮ ) (‪ location.reload‬ﺑﺈﻋﺎدة ﺗﺤﻤﯿﻞ اﻟﺼﻔﺤﺔ اي ﻋﻤﻠﯿﺔ ‪refresh‬‬ ‫ﻟﻠﺼﻔﺤﺔ ‪.‬‬ ‫ﻣﻼﺣﻈﺔ‪:‬‬ ‫ﯾﻔﻀﻞ إﺳﺘﺨﺪام أﻣﺮ ‪ break‬أو وﺿﻊ اﻟـ ) (‪ location.reload‬ﺿﻤﻦ ﺗﻜﻨﯿﻚ ﻣﻌﯿﻦ ﻣﻦ داﻟﺔ أو ﺣﻠﻘﺔ‬ ‫ﺗﻜﺮار ﻟﻜﻲ ﻻ ﯾﺪوم اﻟـ ‪ refresh‬اﻟﻰ ﻣﺎ ﻻ ﻧﻬﺎﯾﺔ وﺑﺎﻟﺘﺎﻟﻲ ﻻ ﺗﺴﺘﻄﯿﻊ إﻏﻼق اﻟﺼﻔﺤﺔ‬ ‫> ‪<html‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫) (‪window.print‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫‪6٦4٤‬‬

‫ﯾﻘﻮم ﻫﺬا اﻟﻜﻮد ﺑﻄﺒﺎﻋﺔ اﻟﺼﻔﺤﺔ اﻟﺘﻲ ﯾﻮﺿﻊ ﺑﻬﺎ اﻟﻜﺎﺋﻦ ) (‪ window.print‬اي ﺗﺸﻐﯿﻞ ﺧﺎﺻﯿﺔ اﻟﻄﺒﺎﻋﺔ ﻓﻲ‬ ‫اﻟﺠﻬﺎز ‪ ..‬ﻟﺘﻘﻮم اﻟﻄﺎﺑﻌﺔ ﺑﻄﺒﺎﻋﺔ اﻟﺼﻔﺤﺔ ﺑﻤﻌﻨﻰ ﺑﺪﻻ ﻣﻦ ان ﯾﺬﻫﺐ اﻟﻤﺴﺘﺨﺪم اﻟﻰ ‪ file‬وﻣﻦ ﺛﻢ ﯾﺨﺘﺎر ‪ print‬ﻫﺬا‬ ‫اﻻﻣﺮ ﯾﻘﻮم ﺗﻠﻘﺎﺋﯿﺎ ﺑﺬﻟﻚ‪ ..‬ﺑﻤﺠﺮد دﺧﻮل اﻟﺰاﺋﺮ اﻟﻰ اﻟﺼﻔﺤﺔ ﻋﺰﯾﺰي اﻟﻤﺘﺪرب ﺣﺎول ان ﺗﻀﻌﻪ اﻧﺖ ﺿﻤﻦ‬ ‫‪ button‬ﺑﺤﯿﺚ ﻋﻨﺪﻣﺎ ﯾﻀﻐﻂ اﻟﻤﺴﺘﺨﺪم ﻋﻠﯿﻬﺎ ﺗﻘﻮم ﺑﻄﺒﺎﻋﺔ اﻟﺼﻔﺤﺔ‪ ..‬ﻟﯿﺴﺖ ﺻﻌﺒﻪ ﺗﺬﻛﺮ اﻧﻪ ﯾﻤﻜﻨﻨﺎ ﻋﻤﻞ‬ ‫‪ function‬ووﺿﻊ ﺑﺪاﺧﻠﻪ ﻛﺎﺋﻦ ﻃﺒﺎﻋﺔ اﻟﺼﻔﺤﺔ وﻣﻦ ﺛﻢ اﻟﺬﻫﺎب اﻟﻰ ﻛﻮد اﻻﯾﻘﻮﻧﺔ ﻓﻲ ال ‪ HTML‬ووﺿﻊ‬ ‫‪ onclick‬وﻣﺴﺎوﺗﻪ ﺑﺈﺳﻢ ال ‪ function‬وﺑﻬﺬا ﻧﻘﻮل ﻋﻨﺪﻣﺎ ﯾﻀﻐﻂ ﻧﻔﺬ ﺗﺬﻛﺮ ﻣﺎ ﺷﺮﺣﻨﺎه ﺳﺎﺑﻘﺎ ﻓﻲ اﻟـ ‪form‬‬ ‫‪.‬‬ ‫>\"‪<html dir=\"rtl‬‬ ‫>‪</title‬اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ>‪<head><title‬‬ ‫>\"‪<script type = \"text/javascript‬‬ ‫; )\">‪: \"+ navigator.appName + \"<br /‬إﺻﺪار ﻣﺘﺼﻔﺤﻚ ﻫﻮ \"(‪document.write‬‬ ‫; ) \">‪document.write (window.screen.availWidth + \"<br /‬‬ ‫; )\">‪document.write( window.screen.availHeight + \"<br /‬‬ ‫; )\">‪document.write( window.screen.colorDepth + \"<br /‬‬ ‫>‪</script‬‬ ‫>‪</head‬‬ ‫>‪<body></body‬‬ ‫>‪</html‬‬ ‫ﻫﺬا اﻟﻤﺜﺎل ﻻ ﯾﺤﺘﺎج اﻟﻰ ﺗﺤﻠﯿﻞ ﻓﻬﻮ ﯾﺤﺘﻮي ﻋﻠﻰ ﻛﺎﺋﻨﺎت اﻟﻤﺘﺼﻔﺢ ووﺿﻌﻨﺎﻫﺎ ﻓﻲ ﺟﻤﻞ ﻃﺒﺎﻋﺔ ﻟﻜﻲ ﯾﻄﺒﻊ ﻟﻨﺎ ﻣﺎ‬ ‫ﺳﻮف ﺗﻘﻮم ﺑﻪ او ﺑﻤﻌﻨﻰ اﺻﺢ ﻣﺎ ﺳﻮف ﯾﺮﺟﻌﻪ ﻟﻨﺎ ﻛﻞ ﻛﺎﺋﻦ وﺳﻮف اﺿﻊ ﺑﻌﺾ اﻟﺸﺮح ﻟﻚ ﻟﻜﻲ ﯾﺴﻬﻞ ﻋﻠﯿﻚ‬ ‫ﺗﺤﻠﯿﻠﻪ ‪..‬‬ ‫‪ navigator.appName‬ﻫﺬا اﻟﻜﺎﺋﻦ ﺳﻮف ﯾﻌﻮد ﻟﻨﺎ ﺑﺈﺳﻢ اﻟﻤﺘﺼﻔﺢ ﻟﺪﯾﻨﺎ وﻻﺣﻆ ﻋﻨﺪ وﺿﻌﻪ ﻓﻲ ﺟﻤﻠﺔ‬ ‫§‬ ‫اﻟﻄﺒﺎﻋﺔ وﺿﻌﻨﺎه ﻛﻤﺘﻐﯿﺮ ‪.‬‬ ‫§‬ ‫§‬ ‫‪ window.screen.availWidth‬ﻫﺬا اﻟﻜﺎﺋﻦ ﯾﻘﻮم ﺑﺎرﺟﺎع ﻋﺮض اﻟﺸﺎﺷﻪ ﻓﻲ ﺟﻬﺎز اﻟﻤﺴﺘﺨﺪم اي‬ ‫§‬ ‫‪. RESOLUTION SCREEN‬‬ ‫‪ window.screen.availHeight‬ﻫﺬا اﻟﻜﺎﺋﻦ ﯾﻘﻮم ﺑﺎرﺟﺎع ﻃﻮل اﻟﺸﺎﺷﻪ ﻓﻲ ﺟﻬﺎز اﻟﻤﺴﺘﺨﺪم اي‬ ‫‪. RESOLUTION SCREEN‬‬ ‫‪ window.screen.colorDepth‬ﻫﺬا اﻟﻜﺎﺋﻦ ﯾﻘﻮم ﺑﺎرﺟﺎع ﻟﻨﺎ ﻣﻘﺪار اﻟﻌﻤﻖ ﻓﻲ اﻷﻟﻮان اﻟﻤﺴﺘﺨﺪﻣﻪ‬ ‫ﻓﻲ ﺟﻬﺎز اﻟﻤﺴﺘﺨﺪم أﻟﯿﺲ اﻟﻤﺴﺘﺨﺪم ﯾﺨﺘﺎر ﻓﻲ ﺟﻬﺎزه ﻣﻦ ‪ settings‬ﻓﻲ ﺧﺼﺎﺋﺺ ﻋﺮض اﻟﺸﺎﺷﻪ ال‬ ‫‪ color quality‬ﻣﺜﻼ ‪ 32 bit‬او ‪ ... 16 bit‬اﻟﺦ‬ ‫‪6٦5٥‬‬


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook