blob: 4a6fa9739eedca5db601ac8e33c48ca95b4a59f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
---
title: About JavaScript
slug: Web/JavaScript/About_JavaScript
tags:
- جافا سكريبت
- مبتدئ
- مقدمة
translation_of: Web/JavaScript/About_JavaScript
---
<div>{{JsSidebar}}</div>
<h2 id="ماهي_جافا_سكريبت">ماهي جافا سكريبت</h2>
<p><strong>جافا سكريبت</strong><sup>®</sup> (غالبا ما تختصر بـ <strong>JS</strong>) هي لغة خفيفة الوزن، مفسّرة، كائنية التوجه مع <a href="https://ar.wikipedia.org/wiki/First-class_function">دوال من الدرجة الأولى</a>، وهي معروفة باسم لغة البرمجة النصية لصفحات الويب، ولكنها <a href="https://ar.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages">تستخدم في العديد من البيئات غير المتصفّح</a> أيضًا. وهي لغة برمجة مبنية على<a href="https://en.wikipedia.org/wiki/Prototype-based_programming"> نماذج أولية</a> ومتعددة النماذج تتسم بالديناميكية و تدعم أنماط البرمجة الكائنية التوجه و اﻷساسية و الوظيفية.</p>
<p>تعمل جافا سكريبت على جانب العميل\المستخدم من الويب، و التي يمكن إستخدامها لتصميم\برمجة كيفية تصرف صفحات الويب عند وقوع خطأ ما. جافا سكريبت هي لغة سهلة التعلم ولغة برمجة قوية ، و تستخدم على نطاق واسع للتحكم في سلوك صفحات الويب.</p>
<p>على عكس الاعتقاد الخاطئ الشائع ، فإن <strong>جافا سكريبت <em>ليست</em> "جافا المفسرة"</strong>. باختصار ، جافا سكريبت هي لغة برمجة ديناميكية تدعم بناء الكائن <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Class-Based_vs._Prototype-Based_Languages">المعتمد على النماذج</a>. التركيب اﻷساسي مشابه -بشكل مقصود- لجافا و سي++ لتقليل عدد المفاهيم الجديدة المطلوبة لتعلم اللغة. إن تركيبات اللغة مثل عبارات <code>if</code> و حلقات <code>for</code> و <code>while</code> ، و الكتل <code>switch</code> and <code>try ... catch</code> تعمل بالمثل كما في هذه اللغات (أو أقرب إلى ذلك)</p>
<p>يمكن أن تعمل جافا سكريبت كلغة <a href="https://ar.wikipedia.org/wiki/Procedural_programming">إجرائية</a> و <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript">لغة كائنية التوجه</a>.. يتم إنشاء الكائنات برمجياً في جافا سكريبت ، عن طريق إرفاق طرق وخصائص الكائنات الفارغة الأخرى <strong>في وقت التشغيل</strong>، على عكس التركيب\البناء اللغوي لتعريفات الأصناف الشائعة في اللغات المترجمة أمثال سي++ و جافا. بمجرد إنشاء كائن، يمكن استخدامه كمخطط (أو نموذج أولي) لإنشاء كائنات مشابهة.</p>
<p>تتضمن الإمكانات الديناميكية لجافا سكريبت بناء الكائن وقت التشغيل ، وقوائم المعاملات المتغيرة ، ومتغيرات الوظيفة ، وإنشاء النص البرمجي الديناميكي (عن طريق <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval">eval</a>) ، واستبطان الكائن (عن طريق <code>for ... in</code>)، واستعادة الكود المصدري (يمكن لبرامج جافا سكريبت تفكيك هيئات\أجسام الوظائف رجوعا إلى نصها المصدري).</p>
<p>لإجراء مناقشة أكثر عمقاً لبرمجة جافا سكريبت ، تابع روابط <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/About_JavaScript$translate?tolocale=ar#JavaScript_resources">موارد جافا سكريبت</a> أدناه.</p>
<h2 id="ما_هي_تطبيقات_جافا_سكريبت_المتاحة؟">ما هي تطبيقات جافا سكريبت المتاحة؟</h2>
<p>The Mozilla project provides two JavaScript implementations. The first <strong>ever</strong> JavaScript was created by Brendan Eich at Netscape, and has since been updated to conform to ECMA-262 Edition 5 and later versions. This engine, code named <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey" title="en-US/docs/SpiderMonkey">SpiderMonkey</a>, is implemented in C/C++. The <a href="/en-US/docs/Rhino" title="en-US/docs/Rhino">Rhino</a> engine, created primarily by Norris Boyd (also at Netscape) is a JavaScript implementation written in Java. Like SpiderMonkey, Rhino is ECMA-262 Edition 5 compliant.</p>
<p>Several major runtime optimizations such as TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) and IonMonkey were added to the SpiderMonkey JavaScript engine over time. Work is always ongoing to improve JavaScript execution performance.</p>
<p>Besides the above implementations, there are other popular JavaScript engines such as:-</p>
<ul>
<li>Google's <a class="external" href="https://code.google.com/p/v8/" title="https://code.google.com/p/v8/">V8</a>, which is used in the Google Chrome browser and recent versions of Opera browser. This is also the engine used by <a href="http://nodejs.org">Node.js</a>.</li>
<li>The <a class="external" href="https://www.webkit.org/projects/javascript/index.html" title="https://www.webkit.org/projects/javascript/index.html">JavaScriptCore</a> (SquirrelFish/Nitro) used in some WebKit browsers such as Apple Safari.</li>
<li><a class="external" href="http://my.opera.com/ODIN/blog/carakan-faq" title="http://my.opera.com/ODIN/blog/carakan-faq">Carakan</a> in old versions of Opera.</li>
<li>The <a class="external" href="http://en.wikipedia.org/wiki/Chakra_%28JScript_engine%29" title="http://en.wikipedia.org/wiki/Chakra_%28JScript_engine%29">Chakra</a> engine used in Internet Explorer (although the language it implements is formally called "JScript" in order to avoid trademark issues).</li>
</ul>
<p>Each of Mozilla's JavaScript engines expose a public API which application developers can use to integrate JavaScript into their software. By far, the most common host environment for JavaScript is web browsers. Web browsers typically use the public API to create <strong>host objects</strong> responsible for reflecting the <a class="external" href="http://www.w3.org/DOM/">DOM</a> into JavaScript.</p>
<p>Another common application for JavaScript is as a (Web) server side scripting language. A JavaScript web server would expose host objects representing a HTTP request and response objects, which could then be manipulated by a JavaScript program to dynamically generate web pages. <a href="http://nodejs.org">Node.js</a> is a popular example of this.</p>
<h2 id="مصادر_جافا_سكريبت">مصادر جافا سكريبت</h2>
<dl>
<dt><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey" title="en-US/docs/SpiderMonkey">SpiderMonkey</a></dt>
<dd>Information specific to Mozilla's implementation of JavaScript in C/C++ engine (aka SpiderMonkey), including how to embed it in applications.</dd>
</dl>
<dl>
<dt><a href="/en-US/docs/Rhino" title="en-US/docs/Rhino">Rhino</a></dt>
<dd>Information specific to the JavaScript implementation written in Java (aka Rhino).</dd>
<dt><a href="/en-US/docs/Web/JavaScript/Language_Resources" title="en-US/docs/JavaScript_Language_Resources">Language resources</a></dt>
<dd>Pointers to published JavaScript standards.</dd>
<dt><a href="/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript" title="en-US/docs/A_re-introduction_to_JavaScript">A re-introduction to JavaScript</a></dt>
<dd><a href="/en-US/docs/Web/JavaScript/Guide" title="en-US/docs/JavaScript/Guide">JavaScript guide</a> and <a href="/en-US/docs/Web/JavaScript/Reference" title="en-US/docs/JavaScript/Reference">JavaScript reference</a>.</dd>
</dl>
<p>JavaScript® is a trademark or registered trademark of Oracle in the U.S. and other countries.</p>
|