سانچہ:خانہ معلومات پروگرامنگ زبان

**جاوااسکرپٹ** (انگریزی: JavaScript) ایک پروگرامنگ زبان ہے جس کا زیادہ تر استعمال ویب براؤزروں میں ہوتا ہے جہاں کلائنٹ سائڈ اسکرپٹس کا یوزر انٹرفیس سے انٹریکٹ ہوتا ہے یعنی ایچ ٹی ایم ایل صفحات میں سادہ پروگرامنگ کی جا سکتی ہے اور اس کے ذریعہ ایچ ٹی ایم ایل صفحات مزید پرکشش بنائے جاتے ہیں، تاہم اس کا استعمال سرور سائڈ پروگرامنگ، گیم ڈویلپمنٹ، ڈیسک ٹاپ اور موبائل اطلاقیے کی تخلیق میں بھی ہوتا ہے۔
جاوا اسکرپٹ کو نیٹ سکیپ نے تیار کیا تھا۔ جاوا ایک انڈونیشی جزیرہ کا نام ہے لیکن جاوا اسکرپٹ زبان کا کوئی تعلق اس جزیرہ سے نہیں ہے۔ یہ جاوا پروگرامنگ زبان سے بھی مختلف ہے جسے سن مائکروسسٹمز نے ڈویلپ کیا ہے؛ زبانوں میں نام کی مشابہت کے باوجود دونوں بالکل مختلف زبانیں ہیں۔ جاوا اسکرپٹ کے ذریعہ ڈائنامک اور متحرک ویب صفحات بنائے جا سکتے ہیں، یہ زبان ایچ ٹی ایم ایل صفحات کو مزید پر کشش بنانے کے لیے پروگرامنگ آلات مہیا کرتی ہے۔

ویب صفحات کے علاوہ جاوا اسکرپٹ کا استعمال دیگر اطلاقیوں مثلاً پی ڈی ایف ڈاکیومنٹس، ڈیسک ٹاپ وجیٹس، سائٹ سپیسفک براؤزر میں بھی کافی کیا جاتا ہے۔ اجیکس زبان کے آنے کے بعد جاوا اسکرپٹ کا استعمال بہت زیادہ بڑھ گیا، اس کی وجہ سے صارف سے انٹریکٹ کرنے میں مزید تیز رفتاری آئی ہے۔

جاوا اسکرپٹ آج کل موبائل اطلاقیے بنانے میں اور کمپیوٹر کھیل بنانے میں بھی استعمال کیا جانے لگا ہے۔ نیز نوڈ جے ایس کی مدد سے جاوا اسکرپٹ اب سروَر اطلاقیے بنانے میں بھی استعمال کیا جانے لگا ہے جہاں یہ پی۔ ایچ۔ پی، جاوا اور مائیکروسافٹ اے، ایس، پی ڈاٹ نیٹ کے مقابل سہولیات مییسر کرتا ہے۔

تاریخ
-----

سنہ 1995ء میں نیٹ اسکیپ کمیونی کیشنز نامی کمپنی نے جاوا اسکرپٹ کو ایک اسکرپٹنگ زبان کی حیثیت سے متعارف کرایا۔ اس زبان کا مقصد تخلیق یہ تھا کہ ویب ڈیزائنروں اور پروگرامروں کو ویب صفحات سے تعامل میں سہولت ہو۔ اگلے سال یعنی سنہ 1996ء میں نیٹ اسکیپ نے ایک معیار ساز کمپنی ایکما انٹرنیشنل سے درخواست کی کہ وہ اسکرپٹنگ زبان کے معیار تخلیق کرے۔ سنہ 1997ء میں ایکما انٹرنیشنل نے ایکما 262 (ECMA-262) جاری کیا جس کے ذریعہ ایکما اسکرپٹ نامی اسکرپٹنگ زبان کے پہلے نسخے کے معیار مقرر کیے گئے اور آئندہ ایکما اسکرپٹ کے یہی معیار و ضوابط جاوا اسکرپٹ کی تعمیر و ترقی کی بنیاد قرار پائے۔ اگلے برسوں میں یہ زبان ترقی کرتی اور وسعت پاتی رہی اور ساتھ ہی ایکما اسکرپٹ کی متواتر اشاعتیں جاوا اسکرپٹ کے نئے اور پرانے نسخوں کو مربوط رکھنے میں کامیاب رہیں۔

آبجیکٹس
-------

آبجیکٹس مثلا تصاویر، صفحات، ڈیٹا، بٹنز اور کمپیوٹر میموری میں موجود تمام اشیاء سے انٹریکٹ کیا جاسکتا ہے۔ ہر آبجیکٹ کی علاحدہ متعدد امتیازی خصوصیات، طریقے (Methods) اور فنکشنز ہوتے ہیں جنہیں مطلوبہ آبجیکٹ سے انٹریکٹ کرتے وقت استعمال کیا جاتا ہے۔

متغیرات
-------

متغیرات (Variables) یادداشتوں کے طور پر استعمال کیے جاتے ہیں، جن میں قیمتیں ( values) محفوظ کی جاتی ہیں، تمام متغیرات کا نام الگ الگ ہوتا ہے۔ ان متغیرات کو رن ٹائم (Run time) کے دوران میں بھی تبدیل کیا جاسکتا ہے، اسی طرح رن ٹائم کے وقت کسی بھی متغیر کا ڈیٹا ٹائپ (Data Type) بھی تبدیل کیا جاسکتا ہے، اسی خصوصیت کو متحرک ٹائپنگ (Dynamic typing) کہا جاتا ہے۔ جاوااسکرپٹ میں متغیرا اس انداز میں لکھے جاتے ہیں:

```
var nameOfVariable;

```

فنکشنز
------

فنکشنز متعدد ہدایات (Instructions) کا مجموعہ ہوتا ہے۔ مثلا براؤزر میں صارف کے لیے ایک پیغام دکھانا ہے پھر اس صارف سے اس کا جواب طلب کرنا ہے، چنانچہ ان تمام ہدایات کو ایک فنکشن میں رکھا جاتا ہے اور جب بھی سابقہ ہدایات مطلوب ہوتی ہیں، اس فنکشن کو دوبارہ مکمل ہدایات تحریر کیے بغیر استعمال کر لیا جاتا ہے۔  

جاوااسکرپٹ میں فنکشن استعمال کرنے کے لیے ایک مخصوص لفظ function درج کیا جاتا ہے، اس کے بعد پروگرامنگ زبان میں فنکشن باڈی لکھی جاتی ہے، مثلا:

```
function print()
{
window.alert("welcome")
}

```

تکرار
-----

جاوااسکرپٹ میں ہدایات کو متعدد بار دوہرایا بھی جاسکتا ہے جسے اصطلاحاً تکرار (Loops) کہا جاتا ہے۔ جاوااسکرپٹ میں متعدد اقسام کے لوپس استعمال کیے جاتے ہیں، مثلا:

* for لوپ
* while لوپ
* do while لوپ
* case لوپ
* forEach لوپ

شرائط
-----

بسااوقات مختلف حالتوں میں مختلف ہدایات مطلوب ہوتی ہیں، اس کے لیے شرائط (Conditions) استعمال کیے جاتے ہیں، مثلا:

* if کنڈیشن
* switch کنڈیشن

ویب صفحات میں استعمال
---------------------

جاوااسکرپٹ کا زیادہ تر استعمال ان فنکشنز کو تحریر کرنے میں ہوتا ہے جو ایچ ٹی ایم ایل صفحات میں شامل ہوتے ہیں، ذیل میں جاوااسکرپٹ پر مشتمل سادہ ویب صفحات کی مثالیں دی گئی ہیں۔

```
<!DOCTYPE html>
<html dir = "rtl">
 <head><title>سادہ ویب صفحہ</title></head>
 <body>
 <script type="text/javascript">
 document.write('ہیلو ورلڈ!');
 </script>
 <noscript>
 <p>ایسا لگ رہا ہے کہ آپ کا براؤزر جاوا سکرپٹ کو سپورٹ نہیں کر رہا ہے یا سیٹنگز میں یہ فعال نہیں کیا گیا ہے۔ لہذا پہلے آپ اس مسئلہ کو حل کریں!</p>
 </noscript>
 </body>
</html>
```

یا دوسرے طریقہ سے

```
<SCRIPT LANGUAGE="Javascript">
//SAMIR KONRAD ABUSALIM
name=window.prompt("اپنا نام درج کریں،"یہاں ");
document.write("<H1 align=center>خوش آمدید جناب "+name+"۔</H1>")
//-->
</script>
```

حوالہ جات
---------

1. ↑  "RFC 4329"۔ Apps.ietf.org۔ 25 دسمبر 2018 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 26 مئی 2013  الوسيط `|url-status=` تم تجاهله (معاونت)
2. ↑  "System-Declared Uniform Type Identifiers"۔ Mac OS X Reference Library۔ Apple Inc.۔ 25 دسمبر 2018 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 05 مارچ 2010  الوسيط `|url-status=` تم تجاهله (معاونت)

مزید پڑھیے
----------

* Sham Bhangal، Jankowski, Tomasz (2003)۔ Foundation Web Design: Essential HTML, JavaScript, CSS, PhotoShop, Fireworks, and Flash۔ APress L. P.۔ ISBN 1-59059-152-6
* Joe Burns، Growney, Andree S. (2001)۔ JavaScript Goodies۔ Pearson Education۔ ISBN 0-7897-2612-2
* Scott Duffy (2003)۔ How to do Everything with JavaScript۔ Osborne۔ ISBN 0-07-222887-3
* David Flanagan، Paula Ferguson (2006)۔ JavaScript: The Definitive Guide (5th ایڈیشن)۔ O'Reilly & Associates۔ ISBN 0-596-10199-6
* Danny Goodman، Eich, Brendan (2001)۔ JavaScript Bible۔ John Wiley & Sons۔ ISBN 0-7645-3342-8
* Danny Goodman، Markel, Scott (2003)۔ JavaScript and DHTML Cookbook۔ O'Reilly & Associates۔ ISBN 0-596-00467-2
* Andy Harris (2001)۔ JavaScript Programming for the Absolute Beginner۔ Premier Press۔ ISBN 0-7615-3410-5
* Marijn Haverbeke (2011)۔ Eloquent JavaScript۔ No Starch Press۔ ISBN 978-1-59327-282-1
* Nick Heinle، Koman, Richard (1997)۔ Designing with JavaScript۔ O'Reilly & Associates۔ ISBN 1-56592-300-6
* Tina Spain McDuffie (2003)۔ JavaScript Concepts & Techniques: Programming Interactive Web Sites۔ Franklin, Beedle & Associates۔ ISBN 1-887902-69-4
* Nigel McFarlane (2003)۔ Rapid Application Development with Mozilla۔ Prentice Hall Professional Technical References۔ ISBN 0-13-142343-6
* Thomas A. Powell، Schneider, Fritz (2001)۔ JavaScript: The Complete Reference۔ McGraw-Hill Companies۔ ISBN 0-07-219127-9
* Gary B. Shelly; Cashman, Thomas J.; Dorin, William J.; Quasney, Jeffrey J. (2000)۔ JavaScript: Complete Concepts and Techniques۔ Cambridge: Course Technology۔ ISBN 0-7895-6233-2  Cite uses deprecated parameter `|coauthors=` (معاونت)
* Emily A. Vander Veer (2004)۔ JavaScript For Dummies (4th ایڈیشن)۔ Wiley Pub.۔ ISBN 0-7645-7659-3
* Andrew H. Watt; Watt, Jonathan A.; Simon, Jinjer L. (2002)۔ Teach Yourself JavaScript in 21 Days۔ Pearson Education۔ ISBN 0-672-32297-8  Cite uses deprecated parameter `|coauthors=` (معاونت)

بیرونی روابط
------------

|  |  |
| --- | --- |
|  | ویکی ذخائر پر **جاوا اسکرپٹ** سے متعلق سمعی و بصری مواد ملاحظہ کریں۔ |

* جاوااسکرپٹ مبتدی کے لیے ٹیوٹوریل
* کوڈ اکیڈمی کا جاوااسکرپٹ ٹریک
* Douglas Crockford's video lectures on JavaScriptآرکائیو شدہ (Date missing) بذریعہ yuiblog.com (Error: unknown archive URL)
* Douglas Crockford's A Survey of the JavaScript Programming Language
* Mozilla Developer Center
	+ Mozilla's Official Documentation on JavaScriptآرکائیو شدہ (Date missing) بذریعہ developer.mozilla.org (Error: unknown archive URL)
	+ References for Core JavaScript versions: 1.5+آرکائیو شدہ (Date missing) بذریعہ developer.mozilla.org (Error: unknown archive URL)
	+ overview over new features in JavaScriptآرکائیو شدہ (Date missing) بذریعہ developer.mozilla.org (Error: unknown archive URL)
	+ List of JavaScript releases: versions 1.5+آرکائیو شدہ (Date missing) بذریعہ developer.mozilla.org (Error: unknown archive URL)
	+ Re-Introduction to JavaScriptآرکائیو شدہ (Date missing) بذریعہ developer.mozilla.org (Error: unknown archive URL)
* Eloquent JavaScript by Marijn Haverbeke—a free, Creative Commons–licensed eBook
* JavaScriptآرکائیو شدہ (Date missing) بذریعہ dev.opera.com (Error: unknown archive URL)—Opera Developer Community
* List of languages that compile to JS

| * د
* ب
* ت
پروگرامنگ زبانیں |
| --- |
| 
* اے شارپ (.نیٹ)
* ایڈا
* ایکشن سکرپٹ
* پاسکل
* پائیتھون
* پرولوگ
* بوو
* پی ایچ پی
* پرل
* بیسک
* جاوا
* جاوا سکرپٹ
* جائیتھون
* ڈلفی
* ڈی
* روبی
* سکالا
* سی
* سی#
* سی++
* فورٹران
* ویژول بیسک
* کوبول
* اسمبلی زبان
* لسپ
* بلو
* لنکس
* بیٹا
* کرپٹون
* موڈیولا

 |