پروگرام 10.1 : document.write()کا استعمال کرکے ابتدائی سادہ جاوا اسکرپٹ پروگرام۔
مذکورہ بالا پروگرام کو چلانے کے لیے کسی بھی ٹیکسٹ ایڈیٹر مثلاً نوٹ پیڈ ، ورڈ پیڈکا استعمال کرکے مذکورہ بالا پروگرام کوڈ ٹائپ کیجیے اور اسے "<filename>.htm"(مثلاً abc.htm)کے طور پر محفوظ کیجیے۔ کسی بھی براؤزر ایپلی کیشن(مثلاً انٹر نیٹ ایکسپلورر، موزیلا فائر فوکس، اوپیرا وغیرہ) کے ذریعہ اس فائل کو کھولیے۔
جاوااسکرپٹ کوڈ کو لکھنے اور چلانے کے لیے درکار ٹولز
جاوااسکرپٹ کوڈ کو استعمال کرنے کے لیے مندرجہ ذیل ٹولز کی ضرورت ہوتی ہے۔
(a) ٹیکسٹ ایڈیٹر: ہم کسی بھی ٹیکسٹ ایڈیٹر یا ورڈپروسیسر(مثلاً نوٹ پیڈ، ورڈ پیڈ وغیرہ) کا استعمال کر سکتے ہیں۔
(b) براؤزر: براؤزر جاوااسکرپٹ کوڈ کی ترجمانی کرتا ہے اور آؤٹ پٹ کو براؤزر کی ڈاکیومنٹ ونڈو میں ظاہر کر دیتا ہے ۔
10.3.1جاوااسکرپٹ کوڈ کو متعین کرنا
جاوااسکرپٹ کوڈ کو متعین کرنے کے دو طریقے ہیں:
1۔ داخلی(پیوست) /اِن لائن جاوااسکرپٹ : جاوااسکرپٹ کوڈ کو HTMLدستاویز کے HEADیاBODY سیکشن میں متعین کیا جا سکتا ہے۔
(a) اگر جاوااسکرپٹ کوڈ کو ایک سے زیادہ مرتبہ استعمال کرنا مقصود ہو تو اسے HEADسیکشن میں متعین کرنے کی صلاح دی جاتی ہے۔
(b) اگر جاوااسکرپٹ کوڈ مختصر ہے اور اسے صرف ایک مرتبہ استعمال کیا جانا ہے تو اسے HTMLدستاویز کے BODY سیکشن میں متعین کرنے کی صلاح دی جاتی ہے۔
2۔ بیرونی جاوااسکرپٹ : اگر ایک ہی جاوااسکرپٹ کوڈ کو متعدد دستاویزات میں استعمال کیا جانا ہے تو اس کا سب سے عمدہ طریقہ یہ ہے کہ جاوااسکرپٹ کوڈ کو ایک علاحدہ فائل (بیرونی فائل) میں متعین کیا جائے جس کا ایکسٹینشن".js"ہو۔ اس کام کو انجام دینے کے لیے ہم <SCRIPT> ٹیگ میں srcایٹری بیوٹ کا استعمال کریں گے جو جاوااسکرپٹ فائل سے اس کے تعلق(Link) کو ظاہر کرے گا۔
مثال: بیرونی جاوااسکرپٹ کوڈ کے استعمال کی مثال۔
<HTML>
<HEAD>
<TITLE>Using External JavaScript</TITLE>
</HEAD>
<BODY>
<SCRIPT language="JavaScript" src="abc.js">
</SCRIPT>
<P> The actual JavaScript code exists in external file called
"abc.js". </P>
</BODY>
</HTML>
حقیقی جاوااسکرپٹ فائل "abc.js"ہے۔
10.4جاوااسکرپٹ میں اسٹیٹمنٹ
اسٹیٹمنٹ وہ کمانڈ یا ہدایات ہیں جو مجوزہ کاموں کو انجام دینے کے لیے جاوااسکرپٹ شارح(Interpreter) کو دی جاتی ہیں۔ جاوااسکرپٹ انٹر پریٹر تقریباً سبھی انٹر نیٹ براؤزر کے اندر موجود ہوتا ہے۔ کسی کام کو انجام دینے کے لیے متعین کیے گئے اسٹیٹمنٹ کا مجموعہ ا سکرپٹ یا پروگرام کہلاتا ہے۔جاوااسکرپٹ اسٹیٹمنٹ مندرجہ ذیل کی طرح نظر آئے گا:
a = 100; // stores value 100 in variable a
b = 200; // stores value 200 in variable b
c = a + b; // stores the sum of a and b in
// variable c
document.write
("Sum of A and B : "); // displays the string
document.write(c); // displays the value of c
جاوااسکرپٹ میں ";" (Semicolon)کا استعمال اسٹیٹمنٹ کے اختتام کے لیے کیا جاتا ہے۔لیکن، اگر دو اسٹیٹمنٹ علاحدہ علاحدہ لائنوں میں لکھے جاتے ہیں تو سیمی کولن(;)کا استعمال نہیں ہوگا۔چند موزوں(درست) اسٹیٹمنٹ ذیل میں دیے گئے ہیں:
(i) p=10
q=20
(ii) x=12; y=25 // semicolon(;) separating two statements.
چند غیر موزوں(غلط) اسٹیٹمنٹ :
x=12 y=25 // statements within the same line not separated by
semicolon (;)
10.4.1 تبصرے
تبصرے(comments)ایسے بیانات(Statements) ہیں جنھیں انٹر پریٹرہمیشہ نظر انداز کردیتا ہے۔ان اکا ستعمال اسٹیٹمنٹ پر تبصرہ کرنے کے لیے کیاجاتا ہے تاکہ دیگر پروگرامر ان اسٹیٹمنٹ کو آسانی سے پڑھ اور سمجھ سکیں۔
– ایک سطر میں کیا گیا تبصرہ جس میں دوہرے سلیش(//)کا استعمال ہوتا ہے۔
– کئی سطروں میں کیا گیا تبصرہ جس میں /*اور */کا استعمال ہوتا ہے۔
مثال کے طور پر
// This is a single-line comment.
/* This is a multiple-line comment.
It can be of any length. */
10.4.2 لٹرل
لٹرل(Literals)وہ مستقل قدریں ہیں جنھیں جاوااسکرپٹ کوڈ میں براہ راست استعمال کیاجاتا ہے۔مثال کے طور پر :
a=10;
b=5.7;
document.write(ـ"Welcome");
مذکورہ بالا اسٹیٹمنٹ میں10،5.7، "Welcome"لٹرل(literal)ہیں۔
10.4.3 شناخت کار
شناخت کار(Identifier)پروگرامر کے ذریعہ تشکیل دیے گئے متغیرات(Variables)، فنکشن (Function)، array وغیرہ کے نام ہیں۔یہ چھوٹے اور بڑے حروف کا کوئی بھی سلسلہ ہو سکتا ہے، جس میں اعداد،انڈراسکور (_)اور ڈالر کا نشان ($)بھی شامل ہیں۔شناخت کارکے شروع میں کوئی عدد نہیں ہونا چاہیے اور اس کا نام جاوااسکرپٹ کے کلیدی الفاظ کے مشابہ نہیں ہونا چاہیے۔
چند موزوں (درست) اور غیر موزوں(غلط)شناخت کار مندرجہ ذیل ہیں:
موزوں:
RollNo
bus_fee
_vp
$amt
غیر موزوں:
to day // Space is not allowed
17nov // must not begin with a number
%age // no special character is allowed
10.4.4 محفوظ الفاظ یا کلیدی الفاظ
محفوظ الفاظ کا استعمال جاوااسکرپٹ انٹر پریٹر کو ہدایت دینے کے لیے کیا جاتا ہے اور ہر ایک محفوظ لفظ کے مخصوص معنی ہوتے ہیں۔ انھیں پروگرام میں آڈینٹی فائر کے طور پر استعمال نہیں کیا جا سکتا۔ اس کا مطلب یہ ہے کہ ہم محفوظ الفاظ کا استعمال متغیرات، arrays، آبجیکٹ، فنکشن وغیرہ کا نام رکھنے کے لیے نہیں کر سکتے۔ ان الفاظ کو ’’کلیدی الفاظ ‘‘ بھی کہاجاتا ہے۔ جاوا اسکرپٹ کے محفوظ الفاظ کی فہرست ضمیمہ 10.1میں دی گئی ہے۔
10.4.5 متغیرات
متغیرہ ایک ایسا آڈینٹی فائر ہے جسے قدریں تفویض کی جا سکتی ہیں۔اسکرپٹ نافذہونے کے دوران ان قدروں کو تبدیل کیا جا سکتا ہے۔ کسی متغیرہ میں قدر اسٹور ہوجانے کے بعد اسے متغیرہ کے نام کا استعمال کر کے ایکسس کیا جا سکتا ہے۔متغیرات کو بیان (Declare)کرنالازمی نہیں ہے حالانکہ ایسا کرنا اچھی عادت میں شمارہوتا ہے۔ متغیرہ کو بیان کرنے کے لیے کلیدی لفظ varکا استعمال کیاجاتا ہے۔
سنٹیکس
var var-name [= value ] [..., var-name [=value ] ]
مثال
var name = ''Sachin" ; // Here "name" is variable
document.write(name); // Prints Sachin
جاوااسکرپٹ متغیرہ کسی بھی ڈیٹا ٹائپ کا متحمل ہوسکتا ہے۔ مثال کے طور پر:
i = 7;
document.write(i); // prints 7
i = ـ"seven"; // JavaScript allows to assign string values
document.write(i); // prints seven
متغیرہ کو بیان کرنے کی چند موزوں مثالیں:
var cost;
var num, cust_no = 0;
var amount = 2000;
نام رکھنے کا طریقۂ کار
ہمیں متغیرہ کے با معنی نام رکھنے چاہئیں۔ متغیرہ کا نام حرف، انڈراسکور(_)یا ڈالر کے نشان($)سے شروع ہونا چاہیے۔ اس کے بعد کی علامتیں ہندسے(0-9)ہوسکتے ہیں ۔ جاوااسکرپٹ میں چھوٹے اور بڑے حروف کے علاحدہ علاحدہ معنی ہیں لہٰذا my_schoolمتغیر ہ نام اور My_Schoolمتغیرہ یکساں نہیں ہیں۔
درست(موزوں) متغیرہ ناموں کی مثالیں
f_name
India123
_sumof
غیر موزوں متغیر ہ ناموں کی مثالیں
10_numbers - must not begin with any number.
rate% - "%" is not a valid character.
my name - Space is not allowed.
پروگرام 10.2: varکا استعمال کرکے دو اعداد کا حاصل جمع معلوم کرنا
10.5 ڈیٹا ٹائپ
جاوااسکرپٹ میں تین بنیادی ڈیٹا ٹائپ –اسٹرنگ(String)، بولین(Boolean)اور دو مرکب ڈیٹا ٹائپ arrays–اور آبجیکٹ کا استعمال ہوتا ہے۔
10.5.1 عدد
عدد متغیرہ صحیح عدد یا حقیقی عدد کسی بھی قسم کے عدد پر مشتمل ہو سکتا ہے۔ اعداد کی چند مثالیں مندرجہ ذیل ہیں:
29, –43, 3.40,3.4323
10.5.2 اسٹرنگ
اسٹرنگ (String)حروف، ہندسوں، رموزاوقاف(Punctuation)، حرفی علامات(Characters)وغیرہ کا مجموعہ ہے۔ اسٹرنگ کی علامتوں کو واحد واوین یا دوہرے واوین (’ یا ’’)کے اندر لکھا جاتا ہے۔ اسٹرنگ کی مثالیں مندرجہ ذیل ہیں:
'welcome', "7.86" , "wouldn"t you exit now" ,' country=" India" '
جاوااسکرپٹ ہمیں اسٹرنگ کے اندر Escape sequenceکے استعمال کی سہولت فراہم کرتی ہے ۔ Escape sequenceبیک سلیش(\)کے ساتھ شروع ہوتی ہے اور اس کے بعد دیگر حرفی علامات کو لکھا جاتا ہے۔بیک سلیش براؤزر کو ایک مخصوص عمل یا حرفی علامت کو ظاہر کرنے کی ہدایت دیتا ہے۔ مثال کے طور پر \"ایک Escape sequenceہے جو دوہرے واوین(")کو ظاہر کرتی ہے۔

مثال :
document.write ("Abhinav said, \"Earth doesn\'t revolve round
the sun\". But teacher corrected him.");
یہاںاس مثال میں دو قسم کے ایسکیپ کیریکٹر کا استعمال کیا گیا ہے یعنی\"اور\'۔
نتیجہ
Abhinav said,Earth doesn't revolve round the sun" .But teacher corrected him.
10.5.3 بولین قدریں (BooleanValues)
بولین متغیر ہ میں دو ممکنہ قدریں –صحیح(true) یا غلط(false) اسٹور کی جا سکتی ہیں ۔داخلی طور پر trueکے لیے 1اور false کے لیے0کو اسٹور کیا جاتا ہے۔ اسے شرائط کا نتیجہ(output)حاصل کرنے کے لیے استعمال کیا جاتا ہے کہ آیا شرط کا نتیجہ صحیح ہے یا غلط۔
مثال:
x == 100; // results true if x=100 otherwise false.
10.5.4 Arrays
arrayایک ہی قسم کی مشترک نام والی ڈیٹا قدروں کا مجموعہ ہے۔ arrayکے ہر ایک ڈیٹا ایلیمنٹ کا arrayمیں اس کے مقام کے ذریعہ حوالہ دیا جاتا ہے جسے اس کا انڈیکس نمبر بھی کہا جاتا ہے۔ انفرادی arrayایلیمنٹ(عنصر) کا حوالہ arrayکا نام اور اس کے بعد مربع بریکٹ میں انڈیکس نمبر لکھ کر دیا جاسکتا ہے۔ جاوااسکرپٹ میں انڈیکس نمبر صفر سے شروع ہوتا ہے یعنی جاوااسکرپٹ میں پہلے عنصر کی انڈیکس قدر 0اور دوسرے عنصر کی 1ہوتی ہے ۔اسی طرح یہ سلسلہ آگے کی طرف بڑھتا جاتا ہے۔arrayکو مندرجہ ذیل کسی بھی طریقہ سے ظاہر کیا جاسکتا ہے:
var a = new a( );
var x = [ ];
var m = [2,4, sun ];
Arrayکی شروعات متعینہ قدروں کے ساتھ ہوتی ہے کیوں کہ اس کے عناصر اور اس کی لمبائی متعینہ آرگیومنٹ (Argument) کی تعداد سے طے ہوتی ہے۔
مثال: یہ تین عناصر پر مشتمل arrayکی تشکیل کرتا ہے جس کا نام gamesہے۔
games = ["Hockey" , "Cricket" , "Football"];
ہم array میںقدروں کی مختلف اقسام بھی اسٹور کر سکتے ہیں۔
مثال کے طور پر:
var arr = new Array(); // creation of an array
arr[0] = ـ"JAVASCRIPT"; // stores String literal at index 0
arr[1] = 49.5; // stores real number at index 1
arr[2] = true; // stores Boolean value
10.5.5 معدم قدر
جاوااسکرپٹ میں ایک مخصوص ڈیٹا ٹائپ کو بھی استعمال کیا جا سکتا ہے،جسےnullکہا جاتا ہے۔ یہ "no value or blank"کو ظاہر کرتا ہے۔نوٹ کیجیے کہ nullصفر کے مساوی نہیں ہے۔
مثال
var distance = new object();
distance = null;
10.6آبجیکٹ
جاوااسکرپٹ آبجیکٹ پر مبنی اسکرپٹنگ لینگویج ہے ۔ اس کی مدد سے ہم اپنے آبجیکٹ متعین کر سکتے ہیں اور اپنے متغیر بنا سکتے ہیں۔ یہ پہلے سے متعین آبجیکٹ کا مجموعہ بھی پیش کرتی ہے۔ ہمارے ویب صفحہ پر موجود جدولیں، فارم، بٹن، امیج(Image) یا لنک (Link) آبجیکٹ کی مثالیں ہیں۔ آبجیکٹ سے وابستہ قدریں اس کی خاصیتیں(Properties)ہوتی ہیں اور ان کے ذریعہ آبجیکٹ پر انجام دیے جانے والے عمل میتھڈس(Methods)یا طرز عمل (Behaviour)کہلاتے ہیں۔آبجیکٹ سے متعلق خاصیت کو مندرجہ ذیل طریقہ سے دیکھا جا سکتا ہے:
ObjectName.PropertyName
اب ہم جاوااسکرپٹ میں پہلے سے متعین آبجیکٹ کا مطالعہ کریں گے۔
10.6.1 ڈاکیومنٹ آبجیکٹ
ڈاکیومنٹ آبجیکٹ ونڈو آبجیکٹ کا ایک حصہ ہے۔ window.documentپراپرٹی کے ذریعہ اس تک رسائی کی جاسکتی ہے ۔ documentآبجیکٹ HTMLدستاویز کو ظاہر کرتا ہے اور یہHTMLدستاویز میں موجود سبھی عناصرتک رسائی کی اجازت دیتا ہے۔ مثال کے طور پر موجودہ دستاویز کے عنوان (Title)کو document.titleپراپرٹی کے ذریعہ دیکھا جاسکتاہے۔
ڈاکیومنٹ آبجیکٹ کی عام خاصیتیں:
writing.
write() Writes string/data to a document.
writeln() Writes string/data followed by a newline character to a
document.
close() Closes a document stream for writing.
پروگرام10.3 : ڈاکیومنٹ آبجیکٹ کی خاصیتیں اورطرز عمل کی مثالیں
10.6. ڈیٹ آبجیکٹ
اس آبجیکٹ کاا ستعمال تاریخ کو متعین کرنے اور اس میں ردو بدل کرنے کے لیے کیا جاتا ہے۔جاوااسکرپٹ تاریخیںJanuary 1, 1970آدھی رات سے ملی سیکنڈ کی شکل میں اسٹور کی جاتی ہیں۔یہ تاریخ عہد(Epoch)کہلاتی ہے۔ 1970سے پہلے کی تاریخیں منفی اعداد کے ذریعہ ظاہر کی جاتی ہیں۔ dateآبجیکٹ کی تشکیلDate()کے ساتھ نئے کلیدی الفاظ کی مدد کی جا سکتی ہے۔
سنٹیکس
newDate()
new Date(milliseconds)
new Date(dateString)
new Date(yr_num, mo_num, day_num
[, hr_num, min_num, sec_num, ms_num])

date()کے استعمال کی مختلف مثالیں
today = new Date();
dob = new Date("October 5, 2007 12:50:00");
doj = new Date(2007,10,5);
bday = new Date(2007,10,5,12,50,0);
تاریخ کی قدروں (date values)کو پڑھنے کے طریقے
ہم Dateآبجیکٹ سے قدروں کو حاصل کرنے کے لیےget methodsکا استعمال کرسکتے ہیں۔یہاں کچھget methodsدیے گئے ہیں جو مقامی وقت کے اعتبار سے قدروں کو ظاہر کرتے ہیں:
مہینہ کا دن ظاہر کرتا ہے ( )getDate
ہفتہ کا دن ظاہر کرتا ہے ( )getDay
مکمل سال ظاہر کرتا ہے ( ) getFullYear
گھنٹہ ظاہر کرتا ہے ( ) getHours
منٹ کو ظاہر کرتا ہے ( ) getMinutes
مہینہ کو ظاہر کرتا ہے ( ) getMonth
سیکنڈ کو ظاہر کرتا ہے ( )getSeconds
وقت کی عددی قدر کو ظاہر کرتا ہے ( ) getTime
سال کوظاہر کرتا ہے ( )getYear
پروگرام 10.4: ایک سادہ جاوا سکرپٹ پروگرام جو آج کی تاریخ اور موجودہ وقت کو ظاہر کرتا ہے۔


10.6.3 Mathآبجیکٹ
یہ آبجیکٹ زیادہ پیچیدہ ریاضیاتی اعمال کو انجام دینے کے لیے میتھڈس(Methods)اور مستقلوں(Constants)پر مشمل ہوتا ہے۔ یہ آبجیکٹ اتنی تیزی سے کام نہیں کرسکتا جتنی تیزی سے دیگر آبجیکٹ کر سکتے ہیں۔Mathکی سبھی خاصیتیں (Properties) اور میتھڈس سکونی(غیر متحرک) ہوتے ہیں۔ہم مستقلہ pکو Math.PIسے ظاہر کر سکتے ہیں اور sine فنکشن کو Math.sin(x)کے ذریعہ، جہاں xمیتھڈ کا آرگیومنٹ (Argument)ہے۔


مثال: Mathآبجیکٹ کی پراپرٹیز اور میتھڈس کی وضاحت کرنا۔
<HTML>
<HEAD>
<TITLE>Math Object</TITLE>
</HEAD>
<BODY>
<SCRIPT type="text/JavaScript">
document.write("Value of PI :"+Math.PI + "<BR>");
document.write("Random value:"+Math.random()+"<BR>");
document.write("Rounded value of 0.69 :"+
Math.round(0.69)+"<br>");
document.write("Value of 5 <SUP>2</SUP> :"+
Math.pow(5,2) + "<br>");
document.write("Square root of 2 :"+Math.SQRT2 );
</SCRIPT>
</BODY>
</HTML>

10.7عبارتیں(Expressions) اور آپریٹر
عبارت(Expression) ایسے آپریٹر اور آپرینڈ (Operand)کا مجموعہ ہے جن کی تحسیب کی جاسکتی ہے۔اس میں فنکشن کال بھی شامل ہوسکتی ہیں جو قدروں کو ظاہر کرتی ہیں۔
مثالیں
x = 7.5 // a numeric literal
"Hello India!" // a string literal
false // a Boolean literal
{feet:10, inches:5} // an object literal
[2,5,6,3,5,7] // an array literal
v= m + n; // the variable v
tot // the variable tot
10.7.1ارتھمیٹک آپریٹر
ان کا استعمال حسابی/ریاضیاتی اعمال کو انجام دینے کے لیے کیا جاتا ہے مثلاً جمع، تفریق(گھٹانا)، ضرب ،تقسیم وغیرہ۔ ارتھمیٹک آپریٹر ایک یا ایک سے زیادہ عددی قدروں (حرفی علامتیںیا متغیر)پر کام کرتے ہیں اور واحد عددی قدر کو ظاہر کرتے ہیں۔بنیادی ارتھمیٹک آپریٹرمندرجہ ذیل ہیں:
+(جمع) -(تفریق /گھٹانا)
*(ضرب) /(تقسیم)
%(ماڈیولس) ++(کااضافہ1)
—(کم کرنا 1)
مثال
var s = 10 + 20; // result: s=30
var h = 50 * 4; // result: h = 200
var d = 100 / 4; // result: d = 25
var r = 72 % 14; // result: r=2
اضافہ یا کم کرنے والے آپریٹر
ان آپریٹر کا استعمال متغیر ہ کی قدر میں 1کا اضافہ کرنے یا اس میں 1کی کمی لانے کے لیے کیا جاتا ہے۔ ان آپریٹروں کا استعمال کرکے تحسیب کا عمل تیزی سے انجام دیا جا سکتا ہے۔
مثال
var a = 15;
a++; // result: a = 16
var b = 20;
b-; // result: b = 19
10.7.2 تفویض (Assignment)آپریٹر
یہ اپنے دائیں آپرینڈ کی قدر بائیں آپرینڈ کو تفویض کر دیتا ہے۔ اس آپریٹر کو مساوی نشان(=)کے ذریعہ ظاہر کیاجاتا ہے۔
مثال
x = 100 //یہ بیان xکو قدر 100تفویض کر دیتا ہے
جاوا اسکرپٹ میں معیاری اعمال کے لیے شارٹ ہینڈ آپریٹر کا بھی استعمال کیا جاسکتا ہے۔

10.7.3 تقابلی آپریٹر
تقابلی آپریٹر ایسی علامتیں ہیں جو شرط کی تحسیب کرنے کے بعد یہ ظاہر کرتی ہیں کہ بولین قدر درست(True)ہے یا غلط(False)۔ مثال کے طور پرx>yسے جو درست نتیجہ حاصل ہوگا وہ یہ کہ متغیر xمتغیرyسے بڑا ہے۔
بیسک جاوااسکرپٹ تقابلی آپریٹر مندرجہ ذیل جدول میں دیے گئے ہیں:

تقابلی آپریٹر اسٹرنگ کے لیے بھی کام کرتے ہیں۔یہاں موازنہ حروف تہجی کے اعتبار(Alphabetical Order)سے کیاجاتا ہے۔حروف تہجی کی ترتیب ASCIIعدد پر مبنی ہے۔مثال کے طور پر :
بیان آوٹ پٹ
"zero" < "one" // false
"Zero" < "one" // true
10 < 5 // false, numeric comparison.
"10" < "5" // true, string comparison.
"10" < 5 // false, numeric comparison;
"Ten" < 5 // Error occurs, "Ten" can not be
// converted into a number
10.7.4 منطقی آپریٹر
منطقی آپریٹر کااستعمال دو یا زیادہ شرائط کو یکجا کرنے کے لیے کیا جا تا ہے۔جاوا اسکرپٹ میں مندرجہ ذیل تین منطقی آپریٹر ہوتے ہیں:

10.7.5 سلسلہ بندی آپریٹر
+آپریٹر دواسٹرنگ آپرینڈ کو ایک لڑی میں باندھ دیتا ہے ۔ +آپریٹر اسٹرنگ آپرینڈ کو عددی آپرینڈ پر ترجیح(فوقیت) دیتا ہے۔ یہ بائیں سے دائیں کام کرتا ہے۔ نتیجہ اس ترتیب پر منحصر ہوتا ہے جس ترتیب میں عمل کو انجام دیا گیا ہے۔مثال کے طور پر:
بیان نتیجہ
"Good" + "Morning" "GoodMorning"
"5" + "10" "510"
"Lucky" + 7 "Lucky7"
4 + 7 + "Delhi" "11Delhi"
"Mumbai" + 0 +0+ 7 "Mumbai007"
10.7.6 مخصوص آپریٹر
مشروط آپریٹر(?:)
مشروط آپریٹر مخصوص جاوا اسکرپٹ آپریٹر ہے جس میں تین آپرینڈہوتے ہیں۔اسی لیے اسے ٹرنری آپریٹر (Ternary Operator) بھی کہا جاتا ہے۔ مشروط آپریٹر شرط کے اعتبار سے متغیرہ کو قدر تفویض کر دیتا ہے۔
سنٹیکس
var_name = (condition) ? v_1 : v_2
اگر شرط درست ہے تو متغیرہ کو v_1 قدر تفویض کردی جاتی ہے اوراگر شرط درست نہیں ہے تو متغیرہ کی قدرv_2 ہوجائے گی۔
مثال کے طور پر
status = (age >= 18) ? "adult" : "minor"
یہ بیان statusمتغیرہ کو "adult"قدر تفویض کر دیتا ہے اگر عمر18یا اس سے زیادہ ہے،نہیں تو یہ statusمتغیرہ کو "minor"قدر تفویض کر دیتا ہے۔
New
newآپریٹر کا استعمال واقعہ(Instance)کی تشکیل کرنے اور استعمال کنند ہ کے ذریعہ متعین کیے گئے یا پہلے سے متعین آبجیکٹ ٹائپ کے لیے حافظہ مقرر کرنے کے لیے کیا جاتا ہے۔
سنٹیکس
ObjectName = new objectType ( param1 [,param2] ...[,paramN])
مثال
d = new Date(); // date assigns to object d
r = new rectangle(4, 5, 7, 8);
Delete
deleteآپریٹرکا استعمال آبجیکٹ،آبجیکٹ پراپرٹی یا arrayکے عنصر کوحذف کرکےnew آپریٹر کے ذریعہ مقرر کردہ کی گئی میموری اسپیس کو خارج (De-allocate)کے لیے کیاجاتاہے۔
سنٹیکس
delete object_name
delete object_name.property
delete array_name[index]
deleteآپریٹرکا استعمال ایسے متغیرات کو مٹانے(Delete)کے لیے کیا جاتا ہے جنھیں ضمنی طور پربیان کیا گیا ہو، تاکہ وہ جن کا اعلان var اسٹیٹمنٹ کے تحت کیا گیا ہو۔اگر آپریشن ممکن ہے توdeleteآپریٹرtrueظاہر کر دیتا ہے اور اگر آپریشن ممکن نہیں ہے تو یہ falseظاہر کر دیتا ہے۔
a=12
var j= 63
myobj=new Number()
myobj.h=55 // create property h
delete x /* returns true (x is declared implicitly,without using var)*/
delete y /* returns false ( y is declared explicitly using var) */
delete Math.PI /* returns false (cannot delete predefined properties)*/
delete myobj.h /* returns true (can delete user-defined properties)*/
delete myobj /* returns true (can delete if declared implicitly) */
جب ہم کسی array elementکو مٹاتے ہیں تو arrayکی لمبائی پر کوئی اثر نہیں ہوتا۔ مثال کے طور پر اگر ہمa[3]کو مٹاتے ہیں تو a[4]بدستور قائم رہتا ہے اور a[3]مٹ جائے گا۔جب deleteآپریٹر کسی array elementکو مٹا دیتا ہے تو وہ ایلیمنٹ arrayسے خارج ہوجاتا ہے۔
this
جاوا اسکرپٹ میں thisآپریٹر کا بھی استعمال ہوتا ہے۔ thisآپریٹر موجودہ آبجیکٹ کو ظاہر کرتا ہے۔ یہ موجودہ آبجیکٹ کے لیے پوائنٹر کی طرح ہے۔
سنٹیکس
this[.propertyName]
مثال
اس آپریٹر کا استعمال عمر کی درستگی کی جانچ کرنے کے لیے کیجیے۔ یہاں ان پٹ کو متن باکس(Text Box)کے ذریعہ فراہم کیا گیا ہے۔
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function validate(obj, min_age, max_age)
{
if ((obj.value < min_age) || (obj.value > max_age))
alert("Invalid age for the Job!!!");
}
</script>
</HEAD>
<BODY>
<B>Enter the age (between 18 and 40):</B>
<INPUT TYPE = "text" NAME = "age" SIZE = 2
onChange="validate(this, 18, 40)">
</BODY>
</HTML>
اس مثال میں ہم نے onChange (event handler)کے ذریعہ validate()فنکشن کو متعین کیا ہے۔

10.7.7پیش روی آپریٹر
آپریٹرکی تحسیب پیش روی (Precedence)کی پہلے سے متعین ترتیب کے لحاظ سے کی جاتی ہے۔مندرجہ ذیل جدول آپریٹر کی سبقت ( اعلیٰ تقدیم سے ادنیٰ کی ترتیب میں)کو ظاہر کرتی ہے:
جدول10.1 : آپریٹر پیش روی

10.8جاوا اسکرپٹ پوپ اپ باکس(ڈائیلاگ باکس)
جاوا اسکرپٹ میںونڈو آبجیکٹ کے تین طریقوں(Methods)کا استعمال کرکے تین قسم کے پوپ اپ باکس – انتباہی خانہ(box Alert) توثیقی خانہ،(Confirm Box)اور ہدایتی خانہ(Prompt box)کی تشکیل کی جا سکتی ہے۔
10.8.1 انتباہی خانہ
ونڈو آبجیکٹ کا Alert( )میتھڈ ایک چھوٹے ڈائیلاگ باکس کی تشکیل کرتا ہے جس میں ایک مختصر پیغام اور"OK"کمانڈ بٹن ہوتا ہے، اسے Alert boxکہا جاتا ہے۔ اس باکس میں متنبہ(Warning)کرنے والا آئیکن موجود ہوتا ہے۔
سنٹیکس
[window].alert("Text to be displayed on the popup box");
لفظwindowاختیاری ہے۔
مثال
window.alert("I am to alert you about ….");
or
alert("I am to alert you about ….");
نتیجہ
alert boxکا استعمال اس وقت کیا جاتا ہے جب استعمال کنندہ کو کچھ معلومات فراہم کرنامقصود ہو۔ جب الرٹ باکس ظاہر ہوتا ہے توآگے بڑھنے کے لیے استعمال کنندہ کو "OK"بٹن پر کلک کرنا لازمی ہے۔
10.8.2 Confirm Box
Confirm Boxکا استعمال اس وقت کیا جاتا ہے جب استعمال کنندہ کو کسی معلومات کی تصدیق اور توثیق کرنامقصود ہو۔استعمال کنندہ کو "OK" یا "Cancel"بٹن پر کلک کرنا ہوگا۔
سنٹیکس
[window].confirm("Text to be confirmed");
مثال
confirm("Do you want to quit now?");
نتیجہ
Confirm Box بولین قدر کو ظاہر کرتاہے۔ اگر استعمال کنندہ "OK"پر کلک کرتا ہے تو اس کا نتیجہtrueکی شکل میں اور اگر "cancel" پر کلک کرتا ہے تو falseکی شکل میں برآمد ہوتا ہے۔
10.8.3 Prompt Box
boxاستعمال کنندہ سے inputحاصل کرنے کے لیے استعمال کیا جاتا ہے۔ہم متنی حلقہ کے لیے پہلے سے متن متعین کر سکتے ہیں۔ استعمال کنندہ کے ذریعہprompt( ) سے داخل کی گئی معلومات کو متغیرہ میں اسٹور کیا جا سکتا ہے۔
سنٹیکس
prompt("Message" [, "default value in the text field"]);
مثال
var name = prompt("What's your
name? ", "Your name please…");
نتیجہ
جب استعمال کنندہ"OK"پر کلک کرتا ہے تو prompt boxاستعمال کنندہ کے ذریعہ داخل کی گئی اسٹرنگ کو اسٹور کر لیتا ہے اور اگر "cancel" پر کلک کرتا ہے تو یہ باکس صفر قدر کواسٹور کر لیتا ہے۔

10.9 بلاک اسٹیٹمنٹ
منجھلے بریکٹوں کا استعمال کرکے دو یا دو سے زیادہ بیانات کو یکجا کرکے واحد بلاک اسٹیٹمنٹ بنایا جا سکتا ہے ۔
سنٹیکس
{
statement_1
statement_2
.
.
statement_n
}
e.g. If (z > y)
{ x=10;
y=20; }
10.10 برانچنگ اور لوپنگ اسٹیٹمنٹ
جاوا اسکرپٹ کسی اسٹیٹمنٹ یا اسٹیٹمنٹ کے بلاک کے نفاذ کو دہرانے یا متبادل طریقوں کا انتخاب کرنے کی سہولت فراہم کرتی ہے۔ جاوااسکرپٹ برانچنگ کے لیے کچھ مشروط بیانات کی بھی سہولت فراہم کرتی ہے۔مشروط بیان ایک ایسا بیان ہے جس کا استعمال شرط کے اعتبار سے کوڈ کے کسی حصہ کو نافذ کرنے یا اگر شرط کی تکمیل نہ ہو تو کسی دوسرے کام کو انجام دینے کے لیے کیا جاتا ہے۔
لوپنگ (Looping)بیانات کے سیٹ کا تکراری نفاذ ہے۔
10.10.1 برانچنگ(مشروط) اسٹیٹمنٹ
Ifاسٹیٹمنٹ کے ساتھ برانچنگ
Ifاسٹیٹمنٹ کا استعمال منطقی عبارت (شرط) پر مبنی کسی بیان یا بیانات کے بلاک پر عمل درآمد کرنے کے لیے کیا جا تا ہے۔اس کی تین مختلف شکلیں ہیں:
- if ... statement (simple if statement).
- if ... else statement.
- If .. else if .. else statement (else if ladder statement)
if ... statement
ifایک سادہ ترین فیصلہ کن بیان ہے۔اس اسٹیٹمنٹ کا استعمال کسی بیان (یا بیانات)پر عمل درآمد کرنے کے لیے صرف اسی وقت کیا جاتا ہے جب متعینہ شرط صادق (True)آجائے۔
سنٹیکس
if (condition)
{

مذکورہ بالا فلو چارٹ میں ، بیان(یا بیانات) پر عمل درآمد صرف اسی صورت میں ہوتا ہے جب منطقی بیان درست (True) ثابت ہوتا ہے، نہیں تو 'if statement'کے بعد والے بیان پر عمل کیا جائے گا۔
مثال:
ایک جاوا اسکرپٹ پروگرام جو 'Good Morning India!'کو ویب صفحہ پر صرف اسی وقت ظاہر کرتا ہے جب وقت 12گھنٹے سے کم ہے نہیں تو صفحہ خالی رہے گا۔
<HTML>
<HEAD>
<TITLE>if statement</TITLE>
</HEAD>
<BODY>
<script type = "text/javascript">
var d = new Date();
var time = d.getHours(); // time stores hours
if (time < 12)
{
document.write("Good Morning India!");
}
</script>
</BODY>
</HTML>
یہHTMLدستاویز صرف اسی وقت "Good Morning India!"کو ظاہر کرے گا جب آپ کے سسٹم کا وقت 12 Hrsسے کم ہوگا نہیں تو آپ ویب صفحہ کو خالی پائیں گے۔
نتیجہ

یہ بیان سادہ if statementکی توسیع ہے۔یہ منطقی جانچ پر مبنی دو بیانات یا بیانات کے مجموعہ میں سے کسی ایک بیان پر عمل درآمد کرنے کی اجازت دیتا ہے۔
سنٹیکس
if (condition)
{
True statement(s)...
}
else
{
False statement(s)...
}
اگر شرط (Logical Expression)کی تکمیل ہوجاتی ہے تو true statementپر عمل درآمد ہوتا ہے نہیں تو false statement(s)پر عمل درآمد کیا جائے گا۔
مثال: ایک جاوا اسکرپٹ پروگرام جو 'Good Morning India!'کو ویب صفحہ پر صرف اسی وقت ظاہر کرتا ہے جب وقت 12گھنٹے سے کم ہے نہیں تو "Good Day India!"ظاہر ہوجائے گا۔
<HTML>
<HEAD>
<TITLE>if else statement</TITLE>
</HEAD>
<BODY>
<script type = "text/JavaScript">
var d = new Date();
var time = d.getHours();
if (time < 12)
{
document.write("Good Morning India!");
}
else
{
document.write("Good Day India!");
}
</SCRIPT>
</BODY>
</HTML>
یہHTMLدستاویز صرف اسی وقت "Good Morning India!"کو ظاہر کرے گا جب آپ کے سسٹم کا وقت 12 Hrsسے کم ہوگا۔ نہیں تویہ "Good Day India!" کو ظاہر کر د ے گا۔
نتیجہ
If...else if...else statement
if...else if...else بیان if...else بیان کی مزید توسیع ہے۔ یہ بیان ، بیانات کے مجموعہ میں سے کسی ایک بیان پر عمل درآمد کرانے کے لیے مفید ہے۔
سنٹیکس
if (condition1)
{
code to be executed if condition1 is true
}
else if (condition2)
{
code to be executed if condition2 is true
}
.
.

مثال: ایک پروگرام لکھیے جس کے ذریعہ یہ جانچاجا سکے کہ prompt boxمیں داخل کیا گیا عدد صفر ہے، طاق ہے یا جفت ہے۔
<HTML>
<HEAD>
<TITLE>Odd, Even or Zero</TITLE>
</HEAD>
<BODY>
<SCRIPT type = "text/JavaScript">
var n = prompt("Enter your number:","Type your number here");
n = parseInt(n); //converts string into number
if (n == 0)
alert("The number is zero!");
else if (n%2)
alert("The number is odd!");
else
alert("The number is even!");
</SCRIPT>
</BODY>
</HTML>
نتیجہ
سوئچ اسٹیٹمنٹ کے ذریعہ انتخاب
سوئچ اسٹیٹمنٹ(بیان) کاا ستعمال مختلف شرائط پر مبنی مختلف بیانات پر عمل درآمد (Execute)کے لیے کیا جاتا ہے۔یہ if...else if...statement کے طویل سلسلہ کے مقابلے میں بہتر متبادل فراہم کرتا ہے۔
سنٹیکس
switch (expression)
{
case label1: //executes when value of exp. evaluates to label
statements;
break;
case label2:
statements;
break;
...
default :statements; //executes when non of the above labels
//matches the result of expressin
پروگرام10.5 : جب آپ Prompt Box میں تاریخ داخل کرتے ہیں تو ہفتہ کے دنوں کی تحسیب(لفظوں میں) کرنے کے لیے۔
<HTML>
<HEAD>
<TITLE>Switch statement</TITLE>
</HEAD>
<BODY>
<script type="text/JavaScript">
// Enter date of birth to know the day of week on that day.
var d=new Date(prompt("Enter your Date of Birth
(e.g. November 17, 2002)", "Month DD, YYYY"))
dy=d.getDay()
switch (dy)
{
case 0:
document.write("It was <b>Sunday</b> on that day.")
break
case 1:
document.write("It was <b>Monday</b> on that day.")
break
case 2:
document.write("It was <b>Tuesday</b> on that day.")
break
case 3:
document.write("It was <b>Wednesday</b> on that day.")
break
case 4:
document.write("It was <b>Thursday</b> on that day.")
break
case 5:
document.write("It was <b>Friday</b> on that day.")
break
case 6:
document.write("It was <b>Saturday</b> on that day.")
break
default:
document.write("Please input a
valid Date in?
prescribed format !!!")
}
</script>
</BODY>
</HTML>
اس عبارت(Expression)کی قدر کا موازنہ سوئچ اسٹرکچر میں ہر کیس(Case)کی قدروں سے کیا جاتا ہے۔ اگرمطابقت ہوجاتی ہے تو اس کیس سے وابستہ کوڈ کے بلاک پر عمل درآمد ہوتا ہے۔ اگرکسی بھی کیس کی مطابقت نہیں ہوتی ہے تو ڈیفالٹ اسٹیٹمنٹ پر عمل درآمد ہوگا۔اگلے کیس میں کوڈ کی خودکار طور پر انجام دہی کو روکنے کے لیے breakکا استعمال کیجیے۔ ڈیفالٹ کیس کے اندر breakکو استعمال کرنے کی ضرورت نہیں ہے۔
جب آپ "OK"بٹن کو دباتے ہیں تو ہمیں شکل10.14میں دکھایا گیا نتیجہ (Output)حاصل ہوگا۔
10.10.2 لوپ اسٹیٹمنٹ
لوپ اسٹیٹمنٹ ایک ایسا طریقۂ کار (Mechanism)ہے جو جاوا اسکرپٹ انٹر پریٹر کو کسی بیان(یا بیانات) پر بار بار اس وقت تک عمل درآمد کرنے کی ہدایت دیتا ہے جب تک کہ متعین شرط کی تکمیل نہیں ہوجاتی۔جاوا اسکرپٹ میں مندرجہ ذیل لوپنگ اسٹیٹمنٹ کا استعمال ہوتاہے:
• for
• do ... while
• while loop
زیادہ تر لوپ میں برعکس متغیرات ہوتے ہیں جو لوپ کے شروع ہونے سے پہلے کا م کرنا شروع کردیتے ہیں اور پھر لوپ کی ہر تکرار سے پہلے تحسیب شدہ شرط(عبارت) کے حصہ کے طور پر اس کی جانچ کی جاتی ہے۔بالآخربرعکس متغیرہ میں ہر لوپ باڈی کے اخیر میں شر ط کی دوبارہ تحسیب سے ٹھیک پہلے یا تو اضافہ ہوتا ہے یا اس کی تجدید ہوجاتی ہے۔
For
forلوپ تین اختیاری عبارتوں(Expressions)پر مشتمل ہوتا ہے جو ایک دوسرے سے سیمی کولن(;)کے ذریعہ علاحدہ رہتے ہیں اور ان کے بعد لوپ میں نافذ ہونے والے بیانات(Statements)کا بلاک ہوتا ہے۔لوپ اسٹیٹمنٹ پر بار بار اس وقت تک عمل درآمد ہوتا رہتا ہے جب تک کہ شرط falseہے۔forلوپ کا استعمال اس وقت ہوتا ہے جب ہمیں پہلے سے یہ معلوم ہو کہ اسکرپٹ کوڈ کو کتنی مرتبہ چلایا جانا ہے۔
سنٹیکس
for([initial-expression]; [condition]; [increment-expression])
{
statements
}
پیرا میٹر
ابتدائی عبارت (Initial-expression) – اسے کاؤنٹر متغیرہ کو شروع کرنے کے لیے استعمال کیا جاتا ہے۔
شرط Condition) ( – اگر شرط (true)کی تکمیل ہوجاتی ہے تو اسٹیٹمنٹ پر عمل درآمد کیا جاتا ہے۔
اضافتی عبارت (Incr.-expression) – کاؤنٹر متغیرہ میں اضافہ(بڑھوتری) کرنے کے لیے۔
مثالیں
مندرجہ ذیل forاسٹیٹمنٹ متغیرہ iکو متعین کرتا ہے جس کی شروعات 1سے ہوتی ہے۔یہ اس بات کی جانچ کرتا ہے کہ 1 عدد 20 سے کم ہے، اگلے دو اسٹیٹمنٹ پر عمل درآمد کرتا ہے اورہر مرتبہ لوپ سے ہوکر گزرنے کے بعد iمیں 2کا اضافہ کردیتا ہے۔
// for loop to display odd numbers between 1 to 20
for (var i = 1; i < 20; i+=2)
{
document.write(i);
document.write("<BR>");
}
پروگرام10.6 : for loopاسٹیٹمنٹ کے ذریعہ 7کا پہاڑہ تشکیل دینے کے لیے جاوا اسکرپٹ پروگرام۔
<HTML>
<HEAD>
<TITLE> Table of 7 </title>
</HEAD>
<BODY>
<SCRIPT language="JavaScript" type="text/JavaScript">
document.write("<H2> Table of number 7 </H2>");
for(i = 1; i <= 10; i++ )
{ document.write(7*i);
document.write("<BR>");
}
</SCRIPT>
</BODY>
</HTML>
while
whileلوپ اسٹیٹمنٹforلوپ کے مقابلے میں زیادہ آسان ہے۔ یہ شرط اور اسٹیٹمنٹ کے بلاک پر مشتمل ہوتا ہے۔لوپ سے ہوکر گزرنے سے پہلے ہر مرتبہ شرط کی تحسیب کی جاتی ہے۔اگر شرط کی تکمیل(True)ہو جاتی ہے تو یہ بلاک اسٹیٹمنٹ کونافذکردیتا ہے۔
سنٹیکس
while (condition)
{
statements
}
مثال: مندرجہ ذیل whileلوپ سے بھی وہی نتیجہ حاصل ہوتا ہے جو گذشتہ مثال میں حاصل ہوا تھا۔
// While loop to display Odd numbers between 1 to 20
var i = 1; // Initialization of counter variable
while (i < 20) // Condition
{
document.write(i);
document.write("<BR>");
i++; // Updation
}
whileلوپ میں ہمیں ایک برعکس متغیرہ کو برقرار رکھنا پڑتا ہے جو لوپ میں اسٹیٹمنٹ پر عمل درآمد کو کنٹرول کرتا ہے۔
پروگرام 10.7 : پہلے 10فیبونوکی(Fibonacci)اعداد کی تشکیل کے لیے جاوا اسکرپٹ پروگرام لکھیے۔
<HTML>
<HEAD>
<TITLE>Fibonacci Series</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
// Program to print the Fibonacci series upto 10 numbers
document.write("Fibonacci Series... upto 10 numbers <BR>".fontsize(4));
//.fontsize to increase the font size of the string
i=0;
document.write(i + " ");
j=1;
document.writeln(j + " ");
var x = 3;
while (x <= 10)
{
t = i + j;
document.write(t + " ");
i = j;
j = t;
x++;
}
</SCRIPT>
</BODY>
</HTML>
Do...While
Do...While لوپ whileلوپ کی ہی طرح ہے۔ یہ لوپ کو اس وقت تک دہراتا رہتا ہے جب تک کہ متعینہ شرط falseنہیں ہوجاتی۔لوپ ہمیشہ کم از کم ایک مرتبہ نافذ ہوگا حتیٰ کہ شرط falseہو، کیونکہ اسٹیٹمنٹ کے بلاک پرشرط کی جانچ ہونے سے پہلے عمل درآمد کیاجاتا ہے۔اس لوپ میں اسٹیٹمنٹ اورمنجھلے بریکٹ اختیاری ہیں۔
سنٹیکس
do
{
statements
}
(condition);
مثال: مندرجہ ذیل do...whileلوپ سے بھی وہی نتیجہ حاصل ہوگا جو گذشتہ مثال میں برآمد ہوا تھا۔
// do…while loop to display Odd numbers between 1 to 20
var i = 1; // Initialization of counter variable
do
{
document.write(i);
document.write("<BR>");
i++; // Updation
}
while (i < 20); // Condition
شرط کو اسٹیٹمنٹ کے بلاک کے بعد whileکلیدی لفظ(Keyword)کے ساتھ قوسین میں لکھا جاتا ہے۔
10.10.3لیبل(Label)
لیبل ایک شناخت کار(Identifier)ہے جس کے بعد کولن(:)لگا ہوتا ہے۔ یہ پروگرام کے بہاؤ کی رہنمائی میں مدد کرتا ہے۔
سنٹیکس
label: statement
لیبل کی قدرکوئی بھی جاوا اسکرپٹ شناخت کار ہو سکتا ہے۔آپ لیبل کے ذریعہ جس اسٹیٹمنٹ کی شناخت کرتے ہیں وہ کوئی بھی اسٹیٹمنٹ ہو سکتا ہے۔
مثال
اس مثال میں "whileloop"لیبل whileلوپ کی شناخت کرتا ہے۔
x=1;
whileloop: // Label
while(x<=10)
{
document.write(x);
x++;
}
10.10.4 بریک(Break)
Breakاسٹیٹمنٹ کا استعمال سب سے اندر والے لوپ ، سوئچ اسٹیٹمنٹ یا لیبل کے ذریعہ نامزد کیے گئے اسٹیٹمنٹ سے باہر آنے کے لیے کیا جاتا ہے۔یہ موجودہ لوپ کو ختم کردیتا ہے اور اختیارات ختم کیے گئے لوپ کے بعد والے اسٹیٹمنٹ کو منتقل کر دیتا ہے۔
سنٹیکس
break [label]
بریک اسٹیٹمنٹ میں ایک اختیاری لیبل ہوتا ہے جو نامزد اسٹیٹمنٹ(Labeled Statement)سے باہر نکلنے کو کنٹرول کرتا ہے۔
مثال: مندرجہ ذیل پروگرام میں ایک بریک اسٹیٹمنٹ ہے جو whileلوپ کو اس وقت ختم کردیتا ہے جب یہ 3کے مساوی ہوجاتا ہے۔
var i = 0;
while (i < 6)
{
if (i == 3)
break; //the control moves out of loop in first iteration
i++;
}
document.write(i);
10.10.5 Continue
continueاسٹیٹمنٹ اپنے بعد والے اسٹیٹمنٹ کو چھوڑدیتاہے یانظر انداز(Skip)کردیتا ہے اور اگلی تکرار والے لوپ پر عمل درآمد کرنے کی اجازت دیتا ہے۔ اسے while, do-while, forیالیبل اسٹیٹمنٹ کے اندرifاسٹیٹمنٹ کے ساتھ استعمال کیا جاتا ہے۔
سنٹیکس
continue [label]
continueاسٹیٹمنٹ لوپ کو ختم نہیں کر تا ہے بلکہ ،whileلوپ میں یہ شرط کی طرف واپس آجاتا ہے اور forلوپ میں یہ update expressionپر پہنچ جاتا ہے ۔ continueاسٹیٹمنٹ میں ایک اختیاری لیبل شامل کیا جا سکتا ہے جو پروگرام کوکسی نامزداسٹیٹمنٹ کو ختم کرنے اور متعینہ نامزد اسٹیٹمنٹ کو جاری رکھنے کی اجازت دیتا ہے ۔
مثال
ایک پروگرام جس میں prompt()کاا ستعمال کرکے 50ایلیمنٹ کو ان پٹ کیا گیا ہے اور continueاسٹیٹمنٹ کا استعمال کر کے 40سے زیادہ والے نمبروں(Marks)کو جمع کیا گیا ہے۔
var marks = new Array();
var i = 0, sum=0;
while (i < 50)
{
i++;
// parseInt converts string value into a number.
marks[i]=parseInt(prompt("Enter marks"));
if (marks[i] <= 40) // when the condition is true then
continue; // control goes to while condition expression.
sum = sum + marks[i];
}
document.write(sum+"\n");
10.11 آبجیکٹ کا بندو بست کرنے والے اسٹیٹمنٹ
جاوا اسکرپٹ کچھ ایسے مخصوص اسٹیٹمنٹ فراہم کرتی ہے جو آبجیکٹ کی دیکھ بھال کرتے ہیں۔ایسے دو قسم کے اسٹیٹمنٹ ہیں for...inاورwith
10.11.1 For....In
for...inاسٹیٹمنٹ کسی آبجیکٹ کی تمام پراپرٹیز کے لیے متعین متغیرہ کی تکرار کرتا ہے۔
سنٹیکس
for (<variable>in <object>)
{
statements
}
for...inاسٹیٹمنٹ کی باڈی پر آبجیکٹ کی ہر ایک خاصیت کے لیے عمل درآمد کیا جاتا ہے۔لوپ اسٹیٹمنٹ پر عمل درآمد سے پہلے آبجیکٹ کی کسی ایک پراپرٹی کا نام متغیرہ کو اسٹرنگ کے طور پر تفویض کر دیا جاتا ہے۔ہم اس متغیرہ کا استعمال [ ]آپریٹر کے ذریعہ آبجیکٹ کی پراپرٹی کی قدر کو دیکھنے کے لیے کر سکتے ہیں۔
مثال: Bookآبجیکٹ کی ہر ایک خاصیت کی قدر کا نام چھاپنا۔
<HTML>
<HEAD>
<TITLE> for... in Example </TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
var Book = new Object(); // Object creation
// Properties and values of Book
Book = { Title:"The Discovery of India",
Author:"Jawahar Lal Nehru",
Publisher: "Penguin Books",
Price:Rs 399//-
};
var result = "";
// Name of distinct property of Book assign to b in each loop
execution
for (var b in Book)
{
// Book[b] is used to get the values.
result += "Book." + b + " = " + Book[b] + "<br>";
}
// To print names and values of each property of Book object.
document.write(result);
</SCRIPT>
</BODY>
</HTML>

10.11.2 With
جب ایک ہی آبجیکٹ کی خاصیتوں تک رسائی مقصود ہو تو withاسٹیٹمنٹ کا استعمال کرکے بہت زیادہ ٹائپنگ کرنے سے بچا جا سکتا ہے۔ مثال کے طور پر بہت زیادہ نیسٹیڈآبجیکٹ نظام مراتب (Nested object hierarchies)کے ساتھ کام کرنا ایک عام بات ہے۔ بعض اوقات ہمیں HTMLفارم کے عناصر(Elements)تک رسائی کے لیے مندرجہ ذیل قسم کی عبارت (Expression)کو ٹائپ کرنا پڑتا ہے:
Frames[1].document.forms[0].fname.value
مثالیں
مندرجہ ذیل اسکرپٹ میں withاسٹیٹمنٹ کے استعمال کو ظاہر کیا گیا ہے۔ یہاں دو آبجیکٹ یعنی Math اور document فطری معروض ہیں۔Mathآبجیکٹ کے ساتھ withاسٹیٹمنٹ کے بعد والے اسٹیٹمنٹ PI خاصیت اور cos اور sin میتھڈس سے منسوب ہیں۔ اسی طرح documentآبجیکٹ کے ساتھ withاسٹیٹمنٹ کے بعد والے اسٹیٹمنٹ آبجیکٹ کے صراحت کے بغیر writeمیتھڈ سے منسوب ہیں۔جاوا اسکرپٹ ان حوالوں کے لیے Math اور document آبجیکٹ کو ملحوظ رکھتی ہے۔
var area, circumference
var r=10
with (Math)
{
area = PI * r * r
2*PI*r
}
with (document)
{
write("Area of the Circle: "+area+"<br>");
write("Circumference of the Circle: "+circumference);
}
نتیجہ

10.12 جاوااسکرپٹ فنکشن
فنکشن(Function)اسٹیٹمنٹ کا نامزد بلاک ہے جسے صرف اس کا نام لکھ کر بار بارنافذ کیا جا سکتا ہے اور یہ ایک قدر کو ظاہر کر سکتا ہے ۔یہ پروگرام کوماڈیولر(Modular)اور قابل فہم بنانے کے لیے مفید ہے۔
10.12.1 فنکشن کاتعین کرنا
فنکشن کومندرجہ ذیل سنٹیکس کا استعمال کرکے متعین کیا جا سکتا ہے:
سنٹیکس
function <function-name>([<parameter list>])
{
.....body of the function ..
}
The function definition begins with keyword function, followed by function"s name and optional parameter..list within parenthesis.. Braces are used ( { and } ) to enclose all of the statement in a function. Let"s an example of function definition.
function Welcome()
{
alert("Welcome to NCERT ");
}
یہ اسٹیٹمنٹ Welcomeفنکشن کو متعین کرتے ہیں جو استعمال کنندہ کے لیے alert messageکو ظاہر کردیتا ہے۔
10.12.2 فنکشن کے ساتھ پیرامیٹر استعمال کرنا
نظیری قدروں کی فہرست میں فنکشن کے ذریعہ حاصل کیے جانے والے آرگیومنٹ(Arguments)پیرامیٹر کہلاتے ہیں۔ان قدروں کو فنکشن کے اندر مقامی متغیروں(Local variables) کو تفویض کیا جا سکتا ہے۔آئیے پیرامیٹر کا استعمال کرنے والے فنکشن کی ایک مثال پر غور کرتے ہیں۔
function Welcome(name)
{
alert("
Welcome to NCERT, " + name);
}
ہم نے یہ سیکھ لیا ہے کہ سادہ فنکشن کی تشکیل کس طرح کی جاتی ہے۔ HTMLدستاویز میں <HEAD>سیکشن فنکشن کو متعین کرنے کی سب سے اچھی جگہ ہے کیونکہ اس سیکشن کے اسٹیٹمنٹ پر سب سے پہلے عمل درآمد ہوتا ہے اور اس طرح یہ یقینی بنایا جاسکتا ہے کہ فنکشن کو استعمال سے پہلے متعین کیاجائے۔
مثال: HTMLدستاویز کے <HEAD>سیکشن میں فنکشن کو استعمال کرنا۔
<HTML>
<HEAD>
<TITLE> Define a Function </title>
<script language="JavaScript" type="text/JavaScript">
function Welcome(name)
{
alert("Welcome to NCERT, " + name+"!");
}
</script>
</HEAD>
<BODY>
This is the body of a HTML document. You will observe that I
have used script code in small case and other HTML tags in
Capital to enhance the readability of JavaScript Code.
</BODY>
</HTML>
10.12.3 فنکشن کو طلب(Call)کرنا
فنکشن کو آرگیومنٹ کی فہرست لسٹ کے ساتھ فنکشن کا نام لکھ کر طلب (Call)کیا جا سکتا ہے۔فنکشن کال کا استعمال ایونٹ ہینڈلر کوڈ(Event handler code)کے اندر بھی کیا جا سکتا ہے۔
سنٹیکس
<function name> ([<parameter list>] )
مثال
Welcome("MANYA");
یہ جاوا اسکرپٹ انٹرپریٹر کو فنکشن کے پہلے اسٹیٹمنٹ کو اختیارات منتقل کرنے کی ہدایت دیتا ہے۔یہ "MANYA"پیرامیٹر فنکشن کو بھی منتقل کرتا ہے۔فنکشن کے اندر nameمتغیرہ کو قدر تفویض کردی جائے گی۔
پروگرام10.8 : ایکHTMLدستاویزجو فنکشن کے تعین اور Welcome()فنکشن کے طلب (call)کرنے کو ظاہر کرتا ہے
<HTML>
<HEAD>
<TITLE> Defining and calling a Function </title>
<script language="JavaScript" type="text/JavaScript">
// function definition
function Welcome(name)
{
alert("Welcome, " + name);
}
</script>
</HEAD>
<BODY>
<H1> A Function Example</H1>
This example illustrates use of function and popup boxes.
<br>
<script language="JavaScript" type="text/JavaScript">
var nm = prompt("What's your name? ", "Your name please…");
// Calling of function Welcome().
Welcome(nm);
</script>
</BODY>
</HTML>
10.12.4 کسی وقوعہ(Event)سے فنکشن کو طلب (Call)کرنا
فنکشن کو متعین کرنے کے بعد اس کا استعمال وقوعات( مثلاًClickوقوعہ) کے ساتھ کیا جا سکتا ہے۔مندرجہ ذیل میں فنکشن ایک اور جاوا اسکرپٹ کمانڈ بن جاتا ہے۔مثال کے طور پر:
<INPUT type = "button"
value = "Calculate"
onClick = calc() >
جب استعمال کنندہ بٹن کو کلک کرتا ہے تو پروگرام خودبخود calc()فنکشن کو طلب کر لیتا ہے۔
10.12.5 فنکشن کی قدر کو ظاہر کرنا
کسی فنکشن کی قدر کو ظاہر کرنے کے لیے returnاسٹیٹمنٹ کا استعمال کیا جاتا ہے۔یہ قدر اسائنمنٹ آپریٹر کا استعمال کرنے والے متغیرہ میں آجاتی ہے۔
مثال کے طور پر: فنکشن کا استعمال کرکے سادہ سود(Interest) کی تحسیب کرنے کے لیے پروگرام:
<HTML>
<HEAD>
<TITLE>A Simple JavaScript Function returning Value </TITLE>
<script language="JavaScript" type="text/JavaScript">
function si( p, r, t )
{ var s = (p * r * t)/ 100
return s; // function returning value s
}
</script>
</HEAD>
<BODY>
<script language="JavaScript" type="text/JavaScript">
var result = si( 1000, 5, 7) // returned value assigned
to result
document.write ( "Result = " + result);
</script>
</BODY>
</HTML>
نتیجہ

10.12.6 نیسٹیڈ فنکشن
ایک فنکشن کو دوسرے فنکشن کے اندر متعین کیا جا سکتا ہے۔یہ بھی ممکن ہے کہ انھیں اسٹیٹمنٹ بلاک (مثلاً ifاسٹیٹمنٹ یا whileلوپ وغیرہ کی باڈی)کے اندر متعین نہ کیا گیا ہو۔
مان لیجیے کہ ہم دائرہ کا رقبہ معلوم کرنا چاہتے ہیں جو r2×3.14 کے مساو ی ہے۔نیسٹیڈ فنکشن کو مندرجہ ذیل طریقہ سے لکھا جائے گا:
function Area(r)
{
function Square(x)
{
return x*x;
}
return 3.14*Square(r);
}
اس اسکرپٹ میں Square()فنکشن کوArea()فنکشن کے اندر متعین(نیسٹیڈ)کیا گیا ہے۔
جاوا اسکرپٹ میں محفوظ/کلیدی الفاظ

خلاصہ
• جاوا اسکرپٹ پلیٹ فارم مستثنیٰ معروض پر مبنی اسکرپٹنگ لینگویج ہے۔
• ٰٓایسے جاوا اسکرپٹ کوڈ کو کلائنٹ سائڈجاوا اسکرپٹ کا نام دیا گیا ہے جو کلائنٹ مشین پر ویب براؤزر کے ذریعہ نافذ کیے جاتے ہیں۔
• جاوا اسکرپٹ case-sensitiveلینگویج ہے اور اس کے تمام بیانات(Statement)چھوٹے حروف میں لکھے جاتے ہیں۔
• جاوا اسکرپٹ میں جب بیانات کو علاحدہ سطروں میں رکھا جاتا ہے تو سیمی کولن(;)کو شامل نہیں کیا جاتا۔اگر ہم بیانات کو ایک ہی سطر میں ملا دیتے ہیں تو انھیں علاحدہ کرنے کے لیے ہمیں سیمی کولن(;)کا استعمال کرنا ہوگا۔
• نتیجہ کو ڈاکیومنٹ ونڈو میں ظاہر کرنے کے لیےdocument.write ایک معیاری جاوا اسکرپٹ کمانڈ ہے۔
• حرفی علامات(Literals)وہ مستقل قدریں (Constant Values)ہیں جنھیں پروگرام کوڈ کے اندر براہ راست استعمال کیا جاتا ہے۔
• متغیرہ قدروں یا اسٹرنگ(String)پر مشتمل ہوتا ہے۔ متغیرہ میں اسٹور کی گئی قدروں کو متغیرہ کے نام کی مدد سے دیکھا جا سکتا ہے۔
• جاوا اسکرپٹ میں تین بنیادی ڈیٹا ٹائپ کا استعمال ہوتا ہے۔یہ ڈیٹا ٹائپ ہیں: عدد(Number) ، اسٹرنگ(String) اور بولین(Booean)۔
• عبارت(Expression) آپریٹراور حرفی علامتوں یا متغیرہ کے ناموں کی متحدہ شکل ہے۔
• اضافہ کرنے والے (Increament)یا تخفیف کرنے والے(Decreament) آپریٹرصرف ایک آپرینڈ (Operand)پر ہی عمل کرتے ہیں۔ ان کا استعمال متغیرہ کی قدر میں 1کا اضافہ کرنے یا 1کم کرنے کے لیے کیا جاتا ہے۔
• اسائنمنٹ ایک ایسا بنیادی آپریٹر ہے جو اپنے دائیں آپرینڈ کی قدر بائیں آپرینڈ کو تفویض کر دیتا ہے۔اس آپریٹر کو مساوی نشان(=)کے ذریعہ ظاہر کیا جاتا ہے۔
• نسبتی آپریٹر(Relational Operator) کا استعمال آپرینڈ کی قدروں کا موازنہ کرنے کے لیے کیا جاتا ہے اور یہ شرط (Condition)پر مبنی بولین قدر کو ظاہر کردیتا ہے۔
• جاوا اسکرپٹ میں تین منطقی آپریٹر(Logical Operator)ہوتے ہیں:&&(AND)،||(OR)، اور!-(NOT)
• دو اسٹرنگ آپرینڈ کو ایک تسلسل میں پرونے کے لیے +آپریٹر کا بھی استعمال ہوتا ہے۔یہ عددی آپرینڈکے مقابلے میں اسٹرنگ آپرینڈ کو ترجیح دیتا ہے۔
• مشروط آپریٹر(Conditional Operator) (?:) ٹرنری(تہرا) آپریٹر بھی کہا جاتا ہے۔
• newآپریٹر کاا ستعمال استعمال کنندہ کے وضاحت کردہ آبجیکٹ ٹائپ یا پہلے سے متعین کیے گئے آبجیکٹ ٹائپ میں سے کسی ایک آبجیکٹ ٹائپ کے واقعہ(Instance)کی تشکیل کے لیے کیا جاتا ہے۔
• deleteآپریٹرکااستعمال میموری اسپیس کو خارج کرنے کے لیے کیا جاتا ہے۔
• اگر متعین کی گئی خاصیت /انڈیکس متعینہ آبجیکٹ میں موجود ہے تو inآپریٹرtrueکو ظاہر کر دیتا ہے۔
• الرٹ باکس ایک ایسا ڈائیلاگ باکس ہے جو متنی پیغام(Text message)اور "OK"بٹن پر مشتمل ہوتا ہے۔
• Confirm boxایک ایسا باکس ہے جس کا استعمال کسی اطلاع کی تصدیق یا اسے قبول کرنے کے لیے کیا جاتا ہے۔ استعمال کنندہ کو آگے بڑھنے کے لیے "OK"یا"Cancel"بٹن پر کلک کرنا ہوتا ہے۔
• Prompt boxکی مدد سے ہم استعمال کنندہ کے ذریعہ ٹکسٹ فیلڈ کے ان پٹ کو حاصل کر سکتے ہیں۔
• بلاک اسٹیٹمنٹ دو یا دو سے زیادہ اسٹیٹمنٹ(بیان) کو ایک اسٹیٹمنٹ کی شکل میں یکجا کردیتا ہے۔ بلاک اسٹیٹمنٹ کا استعمال عام طور سے مشروط (Conditional) اورلوپنگ (Looping)اسٹیٹمنٹ کے ساتھ کیا جاتا ہے۔
• ifاسٹیٹمنٹ کا استعمال شرط کے مطابق کسی اسٹیٹمنٹ یا اسٹیٹمنٹ کے بلاک پر عمل درآمدکے لیے کیا جاتا ہے۔
• جاوااسکرپٹ میں سوئچ اسٹیٹمنٹ کا استعمال مختلف شرائط کی بنیاد پر مختلف کاموں کو انجام دینے کے لیے کیاجاتا ہے۔یہ کئی if...else if... اسٹیٹمنٹ کا بدل بھی ہو سکتاہے۔
• لوپ اسٹیٹمنٹ کی مدد سے جاوااسکرپٹ انٹر پریٹرایک ہی اسٹیٹمنٹ کواس وقت تک بار بارنافذ کرتا رہتا ہے جب تک کہ متعینہ شرط کی تکمیل نہیں ہوجاتی۔
• forلوپ تین اختیاری عبارتوں پر مشتمل ہوتا ہے ۔ یہ بلاک اسٹیٹمنٹ کو اس وقت تک با ربارنافذ کرتا رہتا ہے جب تک کہ شرط falseہے۔
• while loop اسٹیٹمنٹforلوپ کے مقابلے میں آسان ہے۔یہ بلاک اسٹیٹمنٹ کو اس وقت تک دوہراتا رہتا ہے جب تک کہ شرط falseہے ۔
• whileلوپ کے بر عکس do...while لوپ کوڈ کے بلاک کو ہمیشہ کم از کم ایک مرتبہ نافذ کرتا ہے۔
• لوپ سے باہر آنے کے بجائے، continueاسٹیٹمنٹ اگلے اسٹیٹمنٹ کو چھوڑدیتا یا نظر انداز کردیتا اور لوپ کی نئے سرے سے تکرار شروع کردیتا ہے۔
• for..inاسٹیٹمنٹ متعینہ متغیرہ کوکسی آبجیکٹ کی سبھی خاصیتوں کے لیے دوہراتا ہے۔
• with اسٹیٹمنٹ ،ڈیفالٹ آبجیکٹ کو بیانات کے ایک مجموعے(Set of statements)کے لیے مقرر (Establish)کرتا ہے۔
• فنکشن(Function)جاوا اسکرپٹ اسٹیٹمنٹ کے گروپ کی نامزد اکائی ہے۔ اگر استعمال کنندہ فنکشن کو قدریں تفویض کرنا چاہتا ہے تو قدروں کو فنکشن کے نام کے بعدقوسین کے اندر رکھا جاتا ہے اور جب فنکشن کو طلب(Call)کیا جاتا ہے تو کوما کے ذریعہ علاحدہ آرگیومنٹ کی فہرست کے طور پر بھیج دیا جاتا ہے۔
• returnاسٹیٹمنٹ کا استعمال فنکشن کی قدر کو ظاہر کرنے کے لیے کیا جاتا ہے۔یہ قدر اسائنمنٹ آپریٹر کا استعمال کرنے والے متغیرہ میں آجاتی ہے۔
• فنکشن کو کسی دوسرے فنکشن کے اندر متعین(Nested) کیا جا سکتا ہے۔
مشقیں
مختصر جواب والے سوالات
1۔ کیا جاوااسکرپٹ میں ایسی اپلیکیشن کے لیے پروگرام لکھنا ممکن ہے جوآزادانہ طور پر ایکزیکیوٹ ہو سکتی ہے؟
2۔ ہمیں اسٹیٹمنٹ میں سیمی کولن(;)کا استعمال کہاں کرنا چاہیے؟ کیا یہ لازمی ہے؟
3۔ کلائنٹ سائڈاور سرور سائڈ جاوااسکرپٹ میں کیا فرق ہے؟
4۔ جاوااسکرپٹ کوڈ میں document.write()کا کیا مقصد ہے؟
5۔ مندرجہ ذیل میں کون سے متغیرہ نام غیر موزوں(Invalid)ہیں؟ وجہ بتاتے ہوئے وضاحت کیجیے۔ My_name، number10، $10، father's name، marks%
6۔ محفوظ الفاظ(Reserved words)کیا ہیں؟ کیا ہم محفوظ الفاظ کا استعمال شناخت کار (Identifier)کے طور پر کر سکتے ہیں۔
7۔ آپ literalsسے کیا سمجھتے ہیں؟
8۔ جاوااسکرپٹ میں ڈیٹا ٹائپ کون کون سے ہیں؟
9۔ var اسٹیٹمنٹ کا کیا مقصد ہے؟
10۔ اسٹرنگ کو واحد یا دوہرے quotesمیں کیوں رکھا جاتا ہے؟
11۔ مندرجہ ذیل کو ظاہر کرنے والے جاوااسکرپٹ کوڈ لکھیے:
He said, "Mahatma Gandhi was a non-violent soldier of India."
12۔ کیا ہم مختلف ڈیٹا ٹائپ قدروں کو واحد arrayمیں استعمال کر سکتے ہیں؟
13۔ stumarks نام کے array میں 65,75,80,87,90عددی قدروں کی تفویض کے لیے اسٹیٹمنٹ لکھیے۔
14۔ کیا null اورصفر(zero)کی قدریں یکساں ہیں؟
15۔ آپریٹر کیا ہوتے ہیں؟آپریٹر کی کیا اہمیت ہے؟
16۔ prompt()methodکون سی قدر کو ظاہر کرتا ہے؟
17۔ مندرجہ ذیل کے لیے معادل جاوا اسکرپٹ اسٹیٹمنٹ لکھیے:
(a) Area = 3.14 r2
(b) KE = 1/2mv2
18۔ متغیرہ r کی قدر کیا ہوگی؟
var r = 45 % 7;
19۔ متغیرہ r کی قدر کیا ہوگی؟
var a = 4;
var b = 7;
var c = "NCERT";
r = a + b + c;
20۔ '==' آپریٹر اسائنمنٹ آپریٹر'='کے مساوی نہیں ہے(صحیح یا غلط)۔
21۔ متغیرہtotal کی قدر معلوم کیجیے۔
total = (360 * 5) + ((40 / 8) - 9) - ((14 * 6) / 2);
22۔ متغیرہb کی قدر کیا ہوگی؟
a = 25;
b = (++a) + 7;
طویل جواب والے سوالات
1۔ ایک جاوااسکرپٹ پروگرام لکھیے جس کے ذریعہ یہ معلوم کیا جا سکے کہ آیا دیا ہوا سال لوند سال (Leap year) ہے یا نہیں۔سال کے ان پٹ کے لیے prompt boxکا استعمال کیجیے۔
2۔ ایک جاوااسکرپٹ پروگرام لکھیے جو استعمال کنندہ کا مندرجہ ذیل کے ذریعہ استقبال کرتا ہے۔
Good Morning, <User_name> during hour in time is 4 to 11
Good Noon, <User_name> when hour value is 12.
Good Afternoon, <User_name> when hour value is 13 to 16
Good Evening, <User_name> when hour value is 17 to 23
Good Midnight, <User_name> when hour value is 24 or 1 to 3.
3۔ دیے ہوئے تین اعدادمیں سے سب سے بڑا عدد معلوم کرنے کے لیے ایک پروگرام لکھیے۔
4۔ جب مندرجہ ذیل جاوااسکرپٹ کوڈ نافذ کیا جائے گا تو کیا نتیجہ برآمد ہوگا؟
var get_res = confirm("Did you like this chapter?");
if (get_res == true)
alert("Okay! Let's go to the next!" );
5۔ اگرmarksمتغیرہ75ہے تو مندرجہ ذیل کا نتیجہ کیا ہوگا؟
if (marks >= 80)
{
alert("Excellent!");
}
else if (marks >= 60 && marks < 80)
{
alert("Good!");
}
else if (marks > 50 && marks < 60)
{
alert("Average!");
}
else
{
alert("Improve yourself !");
}
6۔ سوئچ اسٹیٹمنٹ کا استعمال کرتے ہوئے 0سے لے کر9تک کے اعداد کو الفاظ کے طور پر(مثلاً 3کے لیے "Three") پرنٹ کرنے کے لیے ایک پروگرام لکھیے۔
7۔ ایک اسٹیٹمنٹ لکھیے جو ایک alert boxظاہر کرتا ہے ، جیسا کہ ذیل میں دکھایا گیا ہے۔
8۔ forلوپ کا استعمال کرکے مندرجہ ذیل نتیجہ پرنٹ کرنے کے لیے ایک پروگرام لکھیے ۔
1
22
333
4444
9۔ مندرجہ ذیل forلوپ کتنی مرتبہ نافذ ہوگا؟
for (a = 0; a <= 10; a = a + 2)
{
... statements ...
}
10۔ متغیرہ sumکی حتمی قدر کیا ہوگی؟
var sum = 0;
function add()
{
var sum = sum + 20;
}
add();
sum = sum + 1;
11۔ اسکرپٹ کے نافذ ہونے پر alert boxمیں کیا ظاہر ہوگا؟
var y = 0;
for (x = 0; x <= 5; x++, y = y + 50)
{
y = y + 10;
}
alert("The value of y is :" + y);
12۔ prompt کی مدد سے استعمال کنندہ کے ذریعہ داخل کیے گئے 5اعداد کا اوسط معلوم کرنے کے لیے ایک پروگرام لکھیے۔
13۔ اگرnumمتغیرہ کی قدر 30ہے تو مندرجہ ذیل whileلوپ کتنی مرتبہ نافذ ہوگا؟
while (num <= 30)
{
... statements ...
num = num + 3;
}
14۔ کسی عدد کا اُلٹ( Reverse )(یعنی 123کو321 )معلوم کرنے کے لیے ایک پروگرام لکھیے۔
15۔ کسی اعشاری عدد(Decimal) کو ثنوی عدد(Binary) میں تبدیل کرنے کے لیے ایک پروگرام لکھیے۔
16۔ یہ معلوم کرنے کے لیے کہ کوئی عددمقلوب مستوی(Palindrome)ہے یا نہیں، ایک پروگرام لکھیے۔کوئی عدد اپنے مقلوب عدد کے مساوی ہے تو وہ مقلوب مستوی کہلاتا ہے۔
17۔ continueکا استعمال کرتے ہوئے 1سے20تک کے درمیان سبھی طاق اعداد کو ظاہر کیجیے۔
18۔ کسی عدد کے ہندسوں کا حاصل جمع معلوم کرنے کے لیے ایک پروگرام لکھیے۔ مثلاً453کا نتیجہ4+5+3=12ہوگا۔
19۔ ایک متعینہ حد تک مفرد اعداد(Prime Numbers)کی تشکیل کے لیے ایک پروگرام لکھیے۔
20۔ مندرجہ ذیل جاوااسکرپٹ کوڈ کا نتیجہ کیا ہوگا؟
for(i=1; i<=5; i++)
{
document.write("<BR>")
for(j=1; j<=i; j++)
document.write("*")
}
21۔ مندرجہ ذیل کوڈ میں غلطی کی شناخت کیجیے:
function 3_alert_box
{
alert("Hi!, I am from a function.');
}
22۔ پہلے nاعداد کا حاصل جمع معلوم کرنے کے لیے whileاسٹیٹمنٹ کا استعمال کرتے ہوئے ایک پروگرام لکھیے۔
23۔ مندرجہ ذیل کوڈ میں غلطی کی شناخت کیجیے:
fun_alert_box
{
document.write("Hi!, I am from a function);+1
}
24۔ نیسٹیڈ فنکشن سے آپ کیا سمجھتے ہیں؟
متبادل جواب والے سوالات
1۔ بیرونی جاوااسکرپٹ فائل کی توسیع ہے:
(i)
.jscript
(ii)
.js
(iii)
.jav
(iv)
.java
2۔ جاوااسکرپٹ پروگرام میں تبصرے(Comments)کیوں استعمال کیے جاتے ہیں؟
(i) براؤزر کو یہ بتانے کے لیے کہ ہمارے جاوااسکرپٹ کوڈ میں HTMLہے۔
(ii) کیونکہ HTMLمیں تبصروں کے لیے اپنی خود کی کمانڈ نہیں ہوتی۔
(iii) یہ واضح کرنے کے لیے کہ اسکرپٹ میں کیا ہے۔
(iv) ان میں سے کوئی نہیں
3۔ جاوااسکرپٹ کا اصل نام تھا:
(i)
JavaScript
(ii)
LiveScript
(iii)
WireScript
(iv)
ECMAScript
4۔ مندرجہ ذیل میں سے کون سی عبارت(Expression)غیر موزوں ہے؟
(i)
7.5
(ii)
b +a = c
(iii)
{feet:10, inches:5}
(iv)
[2,3,6,9,5,7]
5۔ مندرجہ ذیل عبارت(Expression)میں resکی قدر کیا ہوگی؟
var res = "70" + 25
(i)
95
(ii)
7025
(iii)
25
(iv) غلطی کی وجہ سے کوئی نتیجہ نہیں نکلے گا
6۔ عبارت"India" < "bharat" کے ذریعہ کون سی قدر حاصل ہوگی؟
(i)
0
(ii)
true
(iii)
false
(iv)
invalid expression
7۔ deleteآپریٹر کا استعمال مندرجہ ذیل میں سے کسے مٹانے کے لیے کیا جاتا ہے؟
(i)
.js file
(ii)
cookies
(iii)
created objects
(iv)
function
8۔ مندرجہ ذیل میں سے کون سا آبجیکٹ confirm() methodسے تعلق رکھتا ہے۔
(i) ڈاکیومنٹ(Document)
(ii) ونڈو(Window)
(iii) فریم(Frame)
(iv) تاریخ(Date)
9۔ مندرجہ ذیل کس اسٹیٹمنٹ کا استعمال اسٹیٹمنٹ کے بلاک کو بار بارنافذکرنے کے لیے کیا جا سکتا ہے؟
(i)
if...else...
(ii)
Continue
(iii)
While
(iv)
Switch
10۔ اسٹیٹمنٹ نافذ ہونے کے بعدsumکی قدر کیا ہوگی؟
for(i=1, sum=0; i<=5; i++) sum+=i;
13
15
25
(iv) اسٹیٹمنٹ میں غلطی ہے۔
11۔ مندرجہ ذیل میں سے کون سا لوپ کوڈ کے بلاک کو کم از کم ایک مرتبہ نافذ کرتا ہے؟
(i)
whlile
(ii)
for
(iii)
do...while
(iv)
for/in
12۔ مندرجہ ذیل کس لوپ اسٹیٹمنٹ کا استعمال کسی آبجیکٹ کی تمام پراپرٹیز کے لیے متعینہ متغیرہ کی تکرار کے لیے کیا جاتا ہے؟
(i)
for
(ii)
do...while
(iii)
for/in
(iv) ان میں سے کوئی نہیں
سرگرمیاں
• جاوا اسکرپٹ کوڈ کا استعمال کرتے ہوئے ایک HTMLدستاویز لکھیے جو آپ کا نام، کلاس اور اسکول کا نام ظاہر کرتا ہو۔
• اپنے ویب صفحہ کے پس منظر کا رنگ تبدیل کرنے کے لیے جاوا اسکرپٹ کوڈ کا استعمال کرتے ہوئے ایک HTMLدستاویز لکھیے۔)اشارہ: document.bgcolorپراپرٹی اور Math.random()فنکشن کا استعمال کیجیے۔(
• ایک پروگرام لکھیے جس سے اس بات کی جانچ کی جا سکے کہ استعمال کنندہ کو ووٹ دینے کا حق ہے یا نہیں۔استعمال کنندہ ووٹ دینے کے لیے مندرجہ ذیل دونوں شرائط کو کی جانچ کرے گا:
(a) عمر 18برس یا اس سے زیادہ ہونی چاہیے۔
(b) ہندوستان کا شہری ہونا چاہیے۔
• ایک سادہ کوئز پروگرام لکھیے جو استعمال کنندہ سے5سوال پوچھتا ہے ۔ سوالوں کے جواب کو alert boxمیں ظاہر کرتا ہے اور کوئز کے اخیر میں استعمال کنندہ کو اسکور بتاتا ہے۔
• اپنی ویب سائٹ میں فارم (Form)کے درست ہونے کی جانچ کے لیے جاوا اسکرپٹ کوڈ کا استعمال کرتے ہوئے ایک HTMLدستاویز لکھیے۔
حوالہ جات
JavaScript – The definitive Guide - David Flanagan, O'REILLY
Sams Publishing
JavaScript – A Beginner"s Guide – John Pollock, McGraw-Hill.
http://www.webreference.com/programming/javascript
http:// www.webdevelopersnotes.com/tutorials/javascript
http://www.javascriptkit.com
http://www.w3schools.com/js
http://sun.com
http://www.mozilla.org