جافا سكريبت

عودة للموسوعة

جافا سكريبت (بالإنجليزية: JavaScript)‏ هي لغة برمجة عالية المستوى تستخدم أساساً في متصفحات الويب لإنشاء صفحات أكثر تفاعلية. يتم تطويرها حالياً من طرف شركة موزيلا.

كانت لغة الجافاسكريبت موجهة للمبرمجين الهواة وغير المحترفين، إلا أنه تزايد الاهتمام بها وجذبت اهتمام مبرمجين محترفين بعد إضافتها لتقنيات جديدة كانتشار تقنية أجاكس التي أدت إلى سرعة في التفاعل بين الخادم والعميل.

تُستخدَم لغة JavaScript لإنشاء صفحات ويب تفاعلية، ولتوفير تطبيقات ويب بما في ذلك الألعاب؛ وهي مُستعمَلة من أغلبية المواقع، وتدعمها جميع المتصفحات تقريبًا دون الحاجة إلى إضافات خارجية.

التاريخ

في عام 1993، أصدر المركز الوطني لتطبيقات الحوسبة الفائقة (NCSA)، وهي وحدة تابعة لجامعة إلينوي في إربانا-شامبين، NCSA Mosaic، أول متصفح ويب رسومي شائع، والذي لعب دورًا مهمًا في توسيع نموالشبكة العالمية الناشئة الويب خارج مكانة NeXTSTEP حيث تشكل WorldWideWeb قبل ثلاث سنوات. في عام 1994، تأسست شركة تدعى Mosaic Communications في ماونتن فيو، كاليفورنيا ووظفت الكثير من مؤلفي NCSA Mosaic الأصليين لإنشاء Mosaic Netscape. ومع ذلك، فقد تعمدت عدم مشاركة رمز مع NCSA Mosaic. الاسم الرمزي الداخلي لمتصفح الشركة هوMozilla، وهورمز لـ "Mosaic and Godzilla" . تم إصدار الإصدار الأول من مستعرض الويب، Mosaic Netscape 0.9، في أواخر عام 1994 خلال أربعة أشهر، استحوذت بالعمل على ثلاثة أرباع سوق المتصفح وأصبحت متصفح الويب الرئيسي للتسعينات. لتجنب مشاكل ملكية العلامة التجارية مع NCSA، تمت إعادة تسمية المستعرض لاحقًا في Netscape Navigator في نفس العام، وحصلت الشركة على اسم Netscape Communications. أدركت Netscape Communications حتى الويب يحتاج إلى حتى يصبح أكثر ديناميكية. يعتقد مارك أندريسن، مؤسس الشركة، حتى HTML يحتاج إلى "لغة لاصقة" كان من السهل استخدامها من قبل مصممي الويب والمبرمجين غير المتفرغين لتجميع مكونات مثل الصور والإضافات، حيث يمكن كتابة الكود مباشرة في الويب ترميز الصفحة.

أصل التسمية

في البداية تم تطوير هذه اللغة تحت اسم موكا (Mocha)، وأطلق عليها اسم LiveScript رسمياً أثناء تجريبها في إصدار متصفحات نتسكيب نافيجاتور 2.0 بيتا (Beta) سنة 1995. لكنها لاحقاً غيرت اسمها إلى جافاسكريبت JavaScript ويعود ذلك إلى إضافتها لدعم لغة الجافا.

هذا التغيير في الاسم سبب الغموض وسوء الفهم موحياً بأن لغة الجافا والجافاسكريبت مرتبطان أومتشابهتان. سليم حتى كلاهما يمتلكان شكلاً شبيهاً بلغة السي، إلا حتى أوجه الاختلاف بين اللغتين واسع:

  • الجافا بحاجة إلى التحويل إلى بايت كود Bytecode. بينما برامج الجافاسكريبت فيتم معالجتها كنص مصدري.
  • المتغيرات في الجافا ثابتة النوع، بينما في الجافاسكريبت فهي ديناميكية. يعني أنك عند تعريف متغير ما في الجافا فيجب تحديد نوعه الذي لا يمكن تغييره. مثلا، لوعهدت المتغير "العمر" بأنه رقم وأعطيته قيمة "7" مثلا فلا تقدر تغيير الرقم إلى نوع آخر (كحدثة "سبعة"). بينما في الجافاسكريت فيمكنك عمل ذلك.
  • الجافا لم تدعم البرمجة الأمرية إلا بداية من الإصدار الثامن. بينما الجافاسكريبت فدعمتها منذ البداية.

بنية اللغة

كانت لغة JavaScript محدودةً إلى متصفحات الويب فيما قد سلف، لكن توسّع مجال JavaScript في الفترة الأخيرة لتضم إنشاء تطبيقات ويب من جهة الخادم (server-side) مع التعامل مع قواعد البيانات، إضافةً إلى إمكانية استخدامها في بيئات ليست متعلقة بالويب مثل معالجات النصوص وبرمجيات PDF، ومن الممكن استعمالها أيضًا لكتابة تطبيقات سطح المخط أوتطبيقات الهواتف، وحتى تطوير الألعاب!

هنالك الكثير من محركات JavaScript، وكل واحدٍ منها يخضع لمواصفة ECMAScript (مع أنَّها تختلف فيما بينها بالإصدارات التي تدعمها). يوجد في نهاية جميع صفحة من صفحات هذا التوثيق قسمٌ بعنوان «دعم المتصفحات» الذي نذكر فيه ما هي المتصفحات التي تدعم الميزة المذكورة.

يتألف أساس لغة JavaScript من الميزات الشائعة للغات البرمجة، التي تسمح لنا:

  • بتخزين القيم داخل متغيرات،
  • إجراء عمليات معالجة على السلاسل النصية،
  • تطبيق إجراءات معيّنة اعتمادًا على وقوع الأحداث.

ما يجب حتى يثير اهتمامنا هوالقابلات البرمجية التي تُضيف وظائف على لغة JavaScript، وتسمى هذه القابلات البرمجية بالمصطلح APIs (أي Application Programming Interfaces)، والتي تسمح للمطورين باستخدام لغة JavaScript للتعامل مع كثيرٍ من الأمور، في مجال متصفحات الويب يمكننا استخدام JavaScript للتعامل مع شجرة DOM، ولاستخدام القابلة البرمجية للمواقع الجغرافية (Geolocation API)، ولإنشاء رسوميات ثنائية وثلاثية الأبعاد عبر Canvas وWebGL، وللتحكم بالوسائط مثل الصوت والصورة والصوت، وغير ذلك.

ويمكن استعمال JavaScript أيضًا من طرف الخادم، ولمزيدٍ من المعلومات انظر إلى صفحة Node.js.

يمكن تضمين شيفرات JavaScript في الصفحات بطريقتين:

  1. تضمين الشيفرات داخل مستند HTML
  2. استخدام ملف خارجي

يمكن تضمين شيفرة JavaScript في أي مكان داخل المستند، لكن يُنصَح بوضعها قبل وسم الإغلاق للعنصر <body>. تُضاف الشيفرة داخل العنصر <script> كما يلي:

<script>
  // شيفرات JavaScript
</script>

أما إذا كانت شيفرة JavaScript في ملفٍ خارجي (وليكن اسمه script.js) فيمكن تضمينه باستخدام العنصر <script> أيضًا، لكن مع استخدام الخاصية src كما يلي:

<script src="script.js"></script>

الكائنات العامة

في هذا القسم جميع الكائنات العامة المُضمَّنة في لغة JavaScript، إضافةً إلى جميع الخاصيات والدوال التابعة لها.

الخاصيات العامة

هذه الخاصيات العامة تُعيد قيمةً بسيطةً، فهي لا تُمثِّل دوالًا أوخاصياتٍ تابعة لأحد الكائنات.

Infinity
NaN
undefined
null

الدوال العامة

هذه الدوال العامة -أي التي تستدعى في النطاق العام بدل استنادىئها على كائن بعينه- تُعيد نتائجها إلى التعبير البرمجي الذي استنادىها.

eval()
isFinite()
isNaN()
parseFloat()
parseInt()
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
escape()
unescape()


الكائنات الأساسية

هذه هي الكائنات الأساسية التي بنيت الكائنات الأخرى عليها، وهي تتضمن الكائنات التي تستطيع تمثيل الكائنات العامة والدوال والأخطاء.

Object
Function
Boolean
Symbol
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError

الأرقام والتواريخ

وهي الكائنات الأساسية التي تُمثِّل الأرقام والتواريخ والعمليات الرياضية.

Number
Math
Date


معالجة النصوص

هذه الكائنات تُمثِّل السلاسل النصية وطرائق معالجتها وتعديلها.

String
RegExp

البيانات المهيكلة

هذه الكائنات تُمثِّل مجموعةً من الكائنات التي لها فهرس وقيمة.

  • Array
  • JSON

غير ذلك

  • arguments

التعابير البرمجية

في هذا القسم جميع التعابير البرمجية الموجودة في لغة JavaScript.

التحكم في التطبيق

block

تُستخدَم الأقسام الكتلية لتجميع عدِّة تعابير برمجية معًا، ويُعرَّف القسم بزوجين من الأقواس المعقوفة { .

break

يإنهاء حلقة التكرار الحالية أوالتعبير switch أوlabel، وستنقل تطبيق البرنامج إلى التعبير البرمجي الذي يلي التعبير الذي انتهى.

continue

تجاوز تطبيق التعابير البرمجية في التكرار الحالي (iteration) في حلقة التكرار الحالية أوحلقة التكرار المسماة (عبر لافتة)، وسيستمر تطبيق الحلقة بدءًا من التكرار التالي.

Empty

يُستخدَم لتجنب توفير تعبير برمجي في المواضع التي تتطلب فيها JavaScript تعبيرًا برمجيًا واحدًا على الأقل.

if...else

التعبير البرمجي الشرطي يُستخدَم لتطبيق تعبير برمجي معيّن عندماقد يكون الشرط محققًا، وإذا كان الشرط غير محققٍ فسيُنفِّذ تعبيرًا برمجيًا آخر.

switch

يُستخدَم لمطابقة قيمة تعبير برمجي باستخدام عبارةcase، ثم يُنفِّذ التعابير البرمجية المرتبطة معها.

throw

يؤدي إلى رمي استثناء (exception) يُعرِّفه المستخدم.

try...catch

يُستخدَم لتجربة قسم من التعابير البرمجية، ويُحدِّد طريقةً لمعالجة الاستثناءات إذا رُمِيَت.

تعابير التصريح عن متغيرات

var

تعبير variable يُصرِّح عن متغير، ويمكن تهيئة قيمته الابتدائية اختياريًا.

let

يُصرِّح عن متغير محلي للقسم الكتلي، ويمكن تهيئة قيمته الابتدائية اختياريًا.

const

التصريح عن ثابت للقراءة فقط.

الدوال والأصناف

function (التصريح عن دالة)

التصريح عن الدالة (function declaration) يُعرِّف دالةً لها معاملات (parameters) معيّنة. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.

function* (التصريح عن دالة مولدة)

التصريح عن الدالة المولدة. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.

async function (التصريح عن دالة غير متزامنة)

التصريح عن دالة غير متزامنة. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.

return

يؤدي إلى إنهاء تطبيق الدالة ويُحدِّد قيمةً لتُعيدها الدالة إلى التعبير الذي استنادىها.

class (التصريح عن صنف)

التصريح عن الصنف (class declaration) يؤدي إلى إنشاء صنف حديث له اسمٌ معيّن يستخدم الوراثة عبر سلسلة prototype.

حلقات التكرار

do...while

يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا إلى حتى يصبح الشرط غير محقق (false)، وسيتم التحقق من الشرط بعد تطبيق التعبير البرمجي، مما يؤدي إلى تطبيق التعبير البرمجي المُعيّن مرةً واحدةً على الأقل.

for

يُنشِئ حلقة تكرار تتألف من ثلاثة تعبيرات برمجية اختيارية تحيط بها أقواس وتفصل بينها فواصل منقوطة، ويليها تعبيرٌ برمجيٌ (وعادةًقد يكون قسمًا كتليًا [block statement]) سيُنفَّذ في جميع تكرار للحلقة.

for...in

يُنشِئ حلقة تكرار تمر على الخاصيات القابلة للإحصاء (enumerable properties) التابعة لأحد الكائنات.

for...of

يمر على الكائنات التي يمكن الدوران على عناصرها (iterable objects) بما في ذلك الكائن Array وMap وSet وString وTypedArray وArguments، وتطبيق تعابير برمجية معيّنة على قيمة جميع خاصية من خاصيات تلك الكائنات.

while

يُنشِئ حلقة تكرار تُنفِّذ تعبيرًا برمجيًا معيّنًا طالما كان الشرط محققًا (true)، وسيتم التحقق من الشرط قبل تطبيق التعبير البرمجي.

غير ذلك

debugger

يؤدي إلى تفعيل وظيفة التنقيح (debugging functionality) المتاحة، مثل بداية نقطة المقاطعة (breakpoint)؛ لكن إذا لم يكن هنالك منقِّح أووظيفة تنقيح متاحة فلنقد يكون لهذا التعبير أي أثر.

export

يمكن حتى يُستخدَم عند إنشاء وحدات JavaScript (أي JavaScript modules) لتصدير الدوال أوالكائنات أوالقيم الأوليّة (primitive values) من وحدة (module) لكي يمكن استخدامها من برنامج آخر باستخدام التعبير البرمجي import.

import

يُستخدَم لاستيراد ما صُدِّر من وحدة (module) أخرى.

label

يمكن حتى يُستخدَم مع التعبير البرمجي break أوcontinue، وهويوضع قبل التعابير البرمجية لإضافة لافتة (مُعرِّف) لها يمكن الإشارة إليها.

التعابير والمعاملات

هذا القسم فيه ما يتعلق بالتعابير والمعاملات في JavaScript.

التعابير الأساسية

وهي تتضمن التعابير والحدثات المحجوزة العامة في JavaScript.

this

تُحدَّد قيمة الحدثة المحجوزة this وفق طريقة استنادىء الدالة.

function (تعبير تعريف الدوال)

الحدثة المحجوزة function تُستخدَم لتعريف دالة داخل تعبير (expression). انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.

class (تعبير تعريف الأصناف)

الحدثة المحجوزة class تشير إلى تعبير تعريف للأصناف.

function* (تعبير تعريف الدوال المولدة)

الحدثة المحجوزة function* تُستخدَم لتعريف دالة مولِّدة داخل تعبير. انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.

yield

الحدثة المحجوزة yield تُستخدَم لإيقاف تطبيق دالة مولِّدة (function*) مؤقتًا واستئناف تطبيقها.

yield*

التعبير yield* يُستخدَم لتفويض التطبيق إلى دالة مولِّدة أخرى أوكائن iterable.

async function* (تعبير تعريف الدوال غير المتزامنة)

الحدثة المحجوزة async function تُستخدَم لتعريف دوال غير متزامنة ضمن تعبير (expression). انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال.

await

يُستخدَم لانتظار وعد (الكائن Promise)، ويمكن حتى يُستخدَم داخل دالة غير متزامنة فقط (async function).

[]

الشكل المختصر لتعريف المصفوفات.

{

الشكل المختصر لتهيئة الكائنات.

/ab+c/i

الشكل المختصر لتعريف التعابير النمطية (regular expressions).

( )

معامل التجميع.

تعابير الإسناد

الوصول إلى الخاصيات

طرائق الوصول إلى الخاصيات توفِّر وصولًا إلى خاصيات أحد الكائنات باستخدام طريقة النقط أوطريقة الأقواس.

new

يُنشِئ نسخةً من كائن مُعرَّف من المستخدم أونسخةً من أحد أنواع الكائنات المُضمّنة في لغة JavaScript والتي تملك دالةً بانيةً.

new.target

تسمح لك بفهم إذا استدعيت دالةٌ عاديةٌ أم دالةٌ بانيةٌ باستخدام المعامل new.

super

تُستخدَم للوصول إلى الكائنات في الكائن الأب واستنادىئها.

معامل النشر (obj...)

معامل النشر (spread operator) يسمح للكائنات التي يمكن المرور على عناصرها (أي أنها iterable) مثل تعابير المصفوفات أوالسلاسل النصية حتى توسَّع في الأماكن التي تتسقط JavaScript وجود صفر وسيط أوأكثر (عند استنادىء الدوال) أوصفر عنصر أوأكثر (في المصفوفات)، أونشر كائن في الأمكان التي تتسقط JavaScript وجود صفر زوج أوأكثر من المفتاحي والقيم المرتبطة بها (عند تعريف الكائنات).

معاملات الزيادة والنقصان

وهي تتضمن الزيادة (أوالنقصان) قبل الإسناد، والزيادة (أوالنقصان) بعد الإسناد.

  • A++
  • A--
  • ++A
  • --A

المعاملات الأحادية

وهي المعاملات التي تجري عمليتها على قيمة واحدة فقط.

  • delete: يحذف خاصيةً من كائن.
  • void: يُقدِّر قيمة التعبير المعطى (expression) ثم يُعيد القيمةundefined.
  • typeof: يُعيد سلسلةً نصية تُشير إلى نوع القيمة التي تليه.
  • + و-: إشارة الزائد والناقص التي تُستخدَم مع القيم العددية Number.
  • ~: معامل NOT الثنائي.
  • !: معامل NOT المنطقي.

المعاملات الرياضية

المعاملات الرياضية تأخذ القيم العددية وتجري عليها عمليةً ثم تعيد قيمةً واحدةً.

  • +: معامل الجمع.
  • -: معامل الطرح.
  • /: معامل القسمة.
  • *: معامل الضرب.
  • %: معامل باقي القسمة
  • **: معامل حمل العدد إلى قوة.

المعاملات النسبية

تجري هذه المعاملات عملياتها على قيمةٍ ما وتُعيد قيمةً منطقية (Boolean) بناءً على قيمة ناتج المقارنة.

in

يُعيد القيمة true إذا كانت الخاصية المُحدَّدة موجودةً في الكائن أوفي سلسلة prototype الخاصة به.

instanceof

يختبر إذا كانت الخاصية prototype لدالة بانية تظهر في أيّ مكان في سلسلة prototype لأحد الكائنات.

معاملات المقارنة

  • >: أقل من.
  • <: أكبر من.
  • =>: أقل من أويساوي.
  • =<: أكبر من أويساوي.

معاملات المساواة

هذه المعاملات تعيد قيمةً منطقيةً (Boolean) بناءً على ناتج اختبار مساواة قيمتين مع بعضهما بعضًا.

  • ==: معامل المساواة.
  • =!: معامل عدم المساواة.
  • ===: معامل المطابقة.
  • ==!: معامل عدم المطابقة.

المعاملات الثنائية

تُعامِل المعاملات الثنائية القيم على أنها مجموعة من 32 بت (أصفار وواحدات) وتُعيد قيمًا رقميةً عادية.

  • <<: معامل الإزاحة إلى اليسار.
  • <<: معامل الإزاحة إلى اليمين.
  • <<<: معامل الإزاحة إلى اليمين دون إشارة.
  • &: معامل AND الثنائي.
  • |: معامل OR الثنائي.
  • ^: معامل XOR الثنائي.

المعاملات المنطقية

تُستخدَم المعاملات المنطقية عادةً مع القيم المنطقية (Boolean)، وتُعيد قيمةً منطقيةً أيضًا.

  • &&: معامل AND المنطقي.
  • ||: معامل OR المنطقي.

المعامل الشرطي الثلاثي

هوالمعامل الوحيد في JavaScript الذي يأخذ ثلاثة قيمة ليجري عليها عمليته، ومن الشائع استخدام هذا المعامل كاختصارٍ للتعبير البرمجي if.

معاملات الإسناد

تُسنِد هذه المعاملات القيمة التي على يسار المعامل بناءً على قيمة ما على يمينه.

  • =: معامل الإسناد.
  • =*: معامل الإسناد والضرب.
  • =/: معامل الإسناد والقسمة.
  • =%: معامل الإسناد وحساب باقي القسمة.
  • =+: معامل الإسناد والجمع.
  • =-: معامل الإسناد والطرح.
  • =>>: معامل الإسناد والإزاحة إلى اليسار.
  • =<<: معامل الإسناد والإزاحة إلى اليمين.
  • =<<<: معامل الإسناد والإزاحة إلى اليمين دون الحفاظ على الإشارة.
  • =&: معامل الإسناد وإجراء عملية AND الثنائية.
  • =^: معامل الإسناد وإجراء عملية XOR الثنائية.
  • =|: معامل الإسناد وإجراء عملية OR الثنائية.

الإسناد بالتفكيك

الاسناد بالتفكيك (destructuring assignment) يسمح بتفكيك القيم الموجودة في المصفوفات أوخاصيات أحد الكائنات إلى متغيرات مستقلة.

  • [a, b] = [1, 2]
  • {a, b = {a:1, b:2

معامل الفاصلة

يُقدِّر القيم التي يجري عمليتها عليها (من اليسار إلى اليمين) ويُعيد قيمة آخر قيمة .

قواعد الجافا سكريبت

وصف برنارد آيخ قواعد الجافاسكريبت بقوله:

تستعير الجافاسكريبت معظم قواعدها من جافا، لكنها كذلك ترثُ من أوك وبيرل. مع بعض التأثير الغير مباشر من قبل لغة سالف.

مثال عن برنامج "أهلا بالعالم":

window.alert("Hello World")

الاستخدام داخل المتصفح

يقوم المتصفح بتحميل البرنامج المكتوب بلغة الجافاسكريبت إما مضمّناً داخل صفحة الـ HTML أومن ملف خارجي. تنفذ جميع العمليات التي على جهاز المستخدم — أي ضمن المتصفح الخاص به.

تقوم الجافاسكريبت بإنشاء دوال تفاعلية. وهذا ما تستخدمه الكثير من المواقع والصفحات مثل فيسبوك ويوتيوب.

هذا مثال سهل لصفحة برنامج مضمن داخل الـHTML يقوم بإظهار رسالة "وعليكم السلام" عند الضغط على زر "السلام عليكم":

<html>
 <head><title>مثال</title></head>
 <body dir="rtl">
 <script type="text/javascript">
 function salam(){
 alert("وعليكم السلام");
 ; 
 </script>
 <button onclick="salam();">السلام عليكم</button>
  </body>
</html>

الاستخدام خارج المتصفح

رغم أنه قد تم إنشاء هذه اللغة لتعمل بالكامل في المتصفح، إلا أنه أصبح يمكن استخدامها لإنتاج برامج تعمل خارج المتصفح (Standalone) وذلك بفضل برمجيات مثل:

  • نود.جي إس (Node.js) الذي يستخدم الجافاسكربت لإنشاء تطبيقات لقابلة سطر الأوامر
  • Node-Webkit أوnwjs وهوتعبير عن دمج بين متصفح كرويوم وnode.js حيث يسمح هذا البرنامج بإنشاء برامج رسومية باستخدام تكنولوجيا الويب: جافاسكريبت، HTML & صفحات الطرز المتراصة (CSS).
  • فونغاب أوCordova الذي يسمح بإنشاء تطبيقات للهواتف لعدة منصات كالأندرويد مستخدما تكنولوجيا الويب.
  • كما أنه ومع إطلاق وندوز8 أصبح بإمكان المطورين برمجة تطبيقات Metro Style App بواسطة تكنولوجيا الويب.
  • داخل ملفات نسق المستندات المنقولة. (PDF)

انظر أيضا

  • جافاسكريبت-جهة المستخدم
  • جافا سكريبت الواضحة
  • مقارنة بين إطارات عمل جافا سكريبت
  • مخطة جافا سكريبت
  • إطار عمل جافا سكريبت
  • أجاكس
  • إطار عمل الأجاكس

مراجع

  1. ^ Netscape and Sun announce JavaScript, the open, cross-platform object scripting language for enterprise networks and the internet — تاريخ الاطلاع: 19 سبتمبر 2019
  2. ^ ECMAScript 2019 Language Specification
  3. ^ معهد فيديويوتيوب: https://www.youtube.com/watch?v=JxAXlJEmNMg
  4. ^ McCracken, Harry (16 September 2010). ". technologizer.com. مؤرشف من الأصل في 23 يونيو2018. اطلع عليه بتاريخ 16 يوليو2016.
  5. ^ "System-Declared Uniform Type Identifiers". Mac OS X Reference Library. Apple Inc. مؤرشف من الأصل في 28 أغسطس 2010. اطلع عليه بتاريخ 05 مارس 2010.
  6. ^ "JavaScript - Browser detect". Quirksmode.org. مؤرشف من الأصل في 18 مايو2018. اطلع عليه بتاريخ 24 فبراير 2017.
  7. ^ Payment, S. (2007). . Rosen Publishing Group. ISBN . مؤرشف من الأصل في ثلاثة يونيو2019.
  8. ^ Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995 نسخة محفوظةعشرة يوليو2017 على مسقط واي باك مشين.


تاريخ النشر: 2020-06-02 15:27:21
التصنيفات: جافا سكريبت, اختراعات أمريكية, برمجيات متعددة المنصات, لغات برمجة أنشئت في 1995, لغات برمجة بدئية الاعتماد, لغات برمجة ديناميكية النمط, لغات برمجة عالية المستوى, لغات برمجة نصية, لغات برمجة وظيفية, قالب أرشيف الإنترنت بوصلات واي باك, صفحات تستخدم خاصية P154, صفحات بها بيانات ويكي بيانات, صفحات بها مراجع ويكي بيانات, صفحات تستخدم خاصية P571, صفحات تستخدم خاصية P287, صفحات تستخدم خاصية P348, صفحات تستخدم خاصية P737, مقالات تحتوي نصا بالإنجليزية, صفحات تستخدم خاصية P244, صفحات تستخدم خاصية P227, صفحات تستخدم خاصية P268, وصلات إنترويكي بحاجة لمراجعة, بوابة برمجة الحاسوب/مقالات متعلقة, بوابة برمجيات/مقالات متعلقة, بوابة إنترنت/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات

مقالات أخرى من الموسوعة

سحابة الكلمات المفتاحية، مما يبحث عنه الزوار في كشاف:

آخر الأخبار حول العالم

القبض على قاتل عمه فى مشاجرة بالبحيرة

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:10
مستوى الصحة: 49% الأهمية: 51%

مانشستر يونايتد يهزم توتنجهام فورست بثلاثية فى الدورى الإنجليزى

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:20:51
مستوى الصحة: 60% الأهمية: 62%

إصابة 10 أشخاص إثر انقلاب «ميكروباص» بطريق الواحات

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:10
مستوى الصحة: 51% الأهمية: 50%

الشوط الأول.. مانشستر يونايتد يتقدم على نوتنجهام بهدفين نظيفين

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:00
مستوى الصحة: 54% الأهمية: 52%

وكيل «صحة دمياط» يبحث آليات تنفيذ بروتوكول التعاون مع طب الأزهر

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:06
مستوى الصحة: 50% الأهمية: 57%

في ذكرى استئناف العلاقات.. رسالة من رئيس إسرائيل إلى المغرب

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:19:45
مستوى الصحة: 65% الأهمية: 80%

مسئول بريطانى محذرا من اقتراب سيطرة الصين على تايوان: عواقب كارثية

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:20:52
مستوى الصحة: 58% الأهمية: 63%

لقجع يعلن عن أول إجراء رسمي فيما يخص “فضيحة تذاكر المونديال”

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:19:48
مستوى الصحة: 75% الأهمية: 79%

اندلاع حريق داخل شقة سكنية بالعمرانية

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:11
مستوى الصحة: 58% الأهمية: 65%

إزالة 6 حالات تعدٍ على أملاك الدولة بقرى المنيا (صور)

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:07
مستوى الصحة: 51% الأهمية: 53%

تعرف على قائمة فيوتشر لمواجهة فاركو بالدورى الممتاز

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:01
مستوى الصحة: 59% الأهمية: 52%

وزيرة الهجرة تكشف تفاصيل انفجار السفينة بالقرب من الحدود التركية

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:20:53
مستوى الصحة: 46% الأهمية: 62%

الرئيس الموريتانى يحذر مواطنيه من عبور الحدود للتنقيب عن الذهب

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:20:54
مستوى الصحة: 55% الأهمية: 57%

مصدر أمنى يكشف حقيقة وفاة طالب بسبب لعبة «شارلى» فى الغربية

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:07
مستوى الصحة: 46% الأهمية: 61%

جراهام بوتر يكشف تجدد إصابة ريس جيمس فى لقاء بورنموث

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:21:01
مستوى الصحة: 58% الأهمية: 56%

الباز يكشف ماذا قال الرئيس السيسى عن وجود أجانب فى قناة السويس

المصدر: موقع الدستور - مصر التصنيف: سياسة
تاريخ الخبر: 2022-12-28 00:20:54
مستوى الصحة: 51% الأهمية: 67%

تحميل تطبيق المنصة العربية