جافا سكريبت

جافا سكريبت
الشعار
معلومات عامة
التصنيف
التنميط
مقتبس من
ظهرت في
مايو 1996[1] عدل القيمة على Wikidata
صممها
التطوير
الإصدار الأول
مايو 1996 عدل القيمة على Wikidata
الإصدار الأخير
  • ECMAScript 2024
    (يونيو 2024)
  • ECMAScript 2025
    (27 مارس 2024) عدل القيمة على Wikidata
التأثير
متأثرة بـ
  القائمة ...
متفرقات
امتدادات الملفات
.js .cjs .mjs
موقع الويب
ecma-international.org… (الإنجليزية) عدل القيمة على Wikidata

جافا سكريبت وتعرف بشكل شائع باسم "JS" (بالإنجليزية: JavaScript)‏ هي لغة برمجة عالية المستوى، تستخدم أساساً في متصفحات الويب لإنشاء صفحات أكثر تفاعلية.[6][7][8] تطورها حالياً لجنة TC39 التي تديرها منظمة ECMA للمعايير.[9]

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

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

التاريخ

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

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

الاسم «جافا سكريبت» هو علامة تجارية مملوكة ومسجلة لشركة أوراكل في الولايات المتحدة.[11][12]

أصل التسمية

في البداية تم تطوير هذه اللغة تحت اسم موكا (Mocha)، وأطلق عليها اسم LiveScript رسمياً أثناء تجريبها في إصدار متصفحات نتسكيب نافيجاتور 2.0 بيتا (Beta) سنة 1995.[13] لكنها لاحقاً غيرت اسمها إلى جافاسكريبت 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
globalThis

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

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

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

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

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

التحكم في التنفيذ

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) الذي يستخدم الجافاسكربت لإنشاء تطبيقات لواجهة سطر الأوامر
  • لغة مُضمنة للبرمجة النصية، يمكن تستخدام جافاسكربت كلغة مضمنة، فعلى سبيل المثال تُستخدم جافاسكربت في برنامج adobe after effect للمساعدة على تطبيق التأثيرات المُعقدة من خلال After Effects expression language [14]، وكذلك وفرت قوقل لمستخدمين خدمات Google Workspace أمكانية برمجة برمجيات نصية تُساعد على أداء بعض المهام مع خدمات قوقل تحت اسم Google Apps Script.
  • Node-Webkit أو nwjs وهو عبارة عن دمج بين متصفح كرويوم وnode.js حيث يسمح هذا البرنامج بإنشاء برامج رسومية باستخدام تكنولوجيا الويب: جافاسكريبت، HTML & صفحات الطرز المتراصة (CSS).
  • فونغاب أو Cordova الذي يسمح بإنشاء تطبيقات للهواتف لعدة منصات كالأندرويد مستخدما تكنولوجيا الويب.
  • كما أنه ومع إطلاق وندوز8 أصبح بإمكان المطورين برمجة تطبيقات Metro Style App بواسطة تكنولوجيا الويب.
  • داخل ملفات نسق المستندات المنقولة. (PDF)

انظر أيضًا

المراجع

  1. ^ ا ب وصلة مرجع: http://speakingjs.com/es5/ch04.html.
  2. ^ ا ب "ECMAScript® 2024 Language Specification". يونيو 2024. اطلع عليه بتاريخ 2024-08-30.
  3. ^ ا ب "ECMAScript® 2025 Language Specification". 27 مارس 2024. اطلع عليه بتاريخ 2024-04-17.
  4. ^ ا ب ج مُعرِّف تسجيل مرئي على موقع "يوتيوب" (YouTube): JxAXlJEmNMg.
  5. ^ ا ب ج د ه و ز Axel Rauschmayer. "Speaking JavaScript" (بالإنجليزية). Archived from the original on 2014-03-23. Retrieved 2024-07-10.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء عددية: قائمة المؤلفين (link) صيانة الاستشهاد: لغة غير مدعومة (link)
  6. ^ McCracken، Harry (16 سبتمبر 2010). "The Unwelcome Return of "Best Viewed with Internet Explorer"". technologizer.com. مؤرشف من الأصل في 2018-06-23. اطلع عليه بتاريخ 2016-07-16.
  7. ^ "System-Declared Uniform Type Identifiers". Mac OS X Reference Library. Apple Inc. مؤرشف من الأصل في 2010-08-28. اطلع عليه بتاريخ 2010-03-05.
  8. ^ "JavaScript - Browser detect". Quirksmode.org. مؤرشف من الأصل في 2018-05-18. اطلع عليه بتاريخ 2017-02-24.
  9. ^ "TC39 – Specifying JavaScript". tc39.es. مؤرشف من الأصل في 2022-08-02. اطلع عليه بتاريخ 2022-08-13.
  10. ^ Payment, S. (2007). Marc Andreessen and Jim Clark: The Founders of Netscape. Rosen Publishing Group. ISBN:978-1-4042-0719-6. مؤرشف من الأصل في 2019-06-03.
  11. ^ "U.S. Trademark Serial No. 75026640". مكتب الولايات المتحدة لبراءات الاختراع والعلامات التجارية. مؤرشف من الأصل في 2021-07-13.
  12. ^ "Legal Notices". أوراكل. مؤرشف من الأصل في 2021-06-05.
  13. ^ Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995 نسخة محفوظة 10 يوليو 2017 على موقع واي باك مشين.
  14. ^ "expression language". https://helpx.adobe.com. 1 يوليو 2021. مؤرشف من الأصل في 2021-10-10. اطلع عليه بتاريخ 2021-11-19. {{استشهاد ويب}}: روابط خارجية في |موقع= (مساعدة)

Read other articles:

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Dunia ini panggung sandiwara – berita · surat kabar · buku · cendekiawan · JSTOR Untuk lagu Nike Ardilla, lihat Panggung Sandiwara. Dunia ini panggung sandiwara adalah frasa yang diutarakan oleh karakter Ja…

Diego Benaglio Benaglio pada 2021Informasi pribadiNama lengkap Diego Orlando Benaglio[1]Tanggal lahir 8 September 1983 (umur 40)[1]Tempat lahir Zürich, SwissTinggi 1,93 m (6 ft 4 in)Posisi bermain Penjaga gawangKarier junior1993–1997 Spreitenbach1997–1999 FC Baden1999–2002 GrasshopperKarier senior*Tahun Tim Tampil (Gol)2002–2005 VfB Stuttgart 0 (0)2003–2005 VfB Stuttgart II 54 (0)2005–2008 Nacional 69 (0)2008–2017 VfL Wolfsburg 259 (0)2015 VfL W…

Francis Leggatt ChantreyPotret diri (sekitar 1810)Lahir(1781-04-07)7 April 1781Meninggal25 November 1841(1841-11-25) (umur 60)SheffieldDikenal ataspematung Sir Francis Leg(g)att Chantrey (7 April 1781 – 25 November 1841) adalah seorang pematung Inggris dari era Georgia. Ia meninggalkan Wasiat Chantrey atau Pendanaan Chantrey untuk membeli karya-karya seni untuk negara, yang masih tersisa sejak 1878 setelah wafatnya sang istri yang menjanda. Kehidupan Francis Leggatt Chantrey…

Halaman ini berisi artikel tentang waralaba media permainan video. Untuk kegunaan lain, lihat Five Nights at Freddy's (disambiguasi).Five Nights at Freddy'sAliranHoror (genre)Pengembang Scott Cawthon Steel Wool Studios Illumix Penerbit Scott Cawthon Clickteam Illumix PembuatScott CawthonPenyusun lagu Leon Riskin Allen Simpson Pelantar Microsoft Windows PlayStation 4 PlayStation 5 Xbox One Xbox Series X/S Nintendo Switch iOS Android Oculus Quest Oculus Quest 2 Google Stadia Terbitan pertamaFive N…

Ada Apa Dengan Cinta? 2014Salah satu adegan di film pendek Ada Apa Dengan Cinta? 2014, di mana Cinta bertemu Rangga di bandara saat Rangga hampir akan pergi kembali ke Amerika Serikat.SutradaraMira Lesmana[1]BerdasarkanAda Apa dengan Cinta?PemeranDian SastrowardoyoNicholas SaputraTiti KamalAdinia WirastiLadya CherylSissy PriscilliaPenata musikBimbang – Melly Goeslaw dan Anto HoedTanggal rilis6 November 2014 (2014-11-06)Durasi10 menit 24 detikNegara IndonesiaBahasaIndone…

كأس البوسنة والهرسك 2005–06 تفاصيل الموسم كأس البوسنة والهرسك  النسخة 6ª (12ª in totale)  البلد البوسنة والهرسك  التاريخ بداية:21 سبتمبر 2005  نهاية:3 مايو 2006  المنظم اتحاد البوسنة والهرسك لكرة القدم  عدد المشاركين 32   كأس البوسنة والهرسك 2004–05  كأس البوسنة والهرسك 2006…

Batalyon Artileri Medan 20/Bhadika YudhaLambang Yonarmed 20/Bhadika YudhaDibentuk19 Mei 2022NegaraIndonesiaCabangArmedTipe unitSatuan Bantuan TempurPeranPasukan Artileri DaratBagian dariKodam IX/UdayanaMarkasKupang, Nusa Tenggara TimurJulukanYon Armed 20/155 GS/BYMotoBhadika YudhaBaretCoklatMaskotMeriam dan PedangUlang tahun19 MeiAlutsistaMeriam Swa Gerak 155/52 Caesar Batalyon Artileri Medan 20/Bhadika Yudha atau Yon Armed 20/155/Gerak Sendiri adalah merupakan satuan bantuan tempur (satbanpur) …

Pour les articles homonymes, voir CFC. Chemins de fer de la Corse Le viaduc du Vecchio avec un autorail X 97050 et sa remorque pilote le traversant, et en bas le tronçon de la RN 193 - RT 20 désaffecté. Situation Corse Type Transport régional de voyageurs Entrée en service 1888 Longueur du réseau 232 km Lignes 2 Gares 16 Fréquentation 1 170 000 voyageurs (2017)[1] Écartement des rails voie métrique Propriétaire Collectivité de Corse Exploitant CT - SEM Site Interne…

List of events ← 2017 2016 2015 2018 in Indonesia → 2019 2020 2021 Centuries: 19th 20th 21st Decades: 1990s 2000s 2010s 2020s See also: History of Indonesia Timeline of Indonesian history List of years in Indonesia 2018 (MMXVIII) was a common year starting on Monday of the Gregorian calendar, the 2018th year of the Common Era (CE) and Anno Domini (AD) designations, the 18th year of the 3rd millennium and the 21st century, and the 9th year of the 2010s decade. Calendar y…

1909 Queensland state election ← 1908 2 October 1909 1912 → All 72 seats in the Legislative Assembly of Queensland37 Assembly seats were needed for a majorityTurnout72.67 ( 6.24 pp)   First party Second party   Leader William Kidston David Bowman Party Liberal Labour Leader's seat Rockhampton Fortitude Valley Last election New party 23 seats, 29.80% Seats won 41 27 Seat change 4 4 Popular vote 107,370 77,712 Percentage 50.91% 36.58% Swing …

إدوارد سي ستون معلومات شخصية اسم الولادة (بالإنجليزية: Edward Carroll Stone Jr)‏[1][2][3]  الميلاد 23 يناير 1936 (العمر 88 سنة)كنوكسفيل[4]  مواطنة الولايات المتحدة  عضو في الأكاديمية الوطنية للعلوم[5][6]،  والجمعية الأمريكية للفلسفة[6][7]،  والجمعية ا…

Keuskupan TarazonaDioecesis TuriasonensisDiócesis de TarazonaKatolik Katedral TarazonaLokasiNegaraSpanyolProvinsi gerejawiZaragozaStatistikLuas4.514 km2 (1.743 sq mi)Populasi- Total- Katolik(per 2010)87.50574,250 (84.9%)InformasiDenominasiKatolik RomaGereja sui iurisGereja LatinRitusRitus RomaPendirianAbad ke-5KatedralKatedral St Anne di TarazonaKepemimpinan kiniPausFransiskusUskupEusebio Hernández SolaUskup agungManuel Ureña PastorPetaKeuskupan TarazonaSitu…

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Religion & Ethics Newsweekly – news · newspapers · books · scholar · JSTOR (June 2015) (Learn how and when to remove this template message) This article…

Brian McBride Informasi pribadiNama lengkap Brian Robert McBride[1]Tanggal lahir 19 Juni 1972 (umur 51)Tempat lahir Arlington Heights, Illinois, United StatesTinggi 6 ft 0 in (1,83 m)Posisi bermain penyerangKarier junior1990–1993 St. Louis Billikens1994–1996 Naperville Bagel BoysKarier senior*Tahun Tim Tampil (Gol)1994 Milwaukee Rampage 18 (17)1994–1995 VfL Wolfsburg 18 (2)1996–2003 Columbus Crew 161 (62)2000–2001 → Preston North End (pinjam) 9 (1)2003 →…

Protein-coding gene in the species Homo sapiens MEF2AAvailable structuresPDBOrtholog search: PDBe RCSB List of PDB id codes1C7U, 1EGW, 1LEW, 3KOV, 3MU6, 3P57IdentifiersAliasesMEF2A, ADCAD1, RSRFC4, RSRFC9, mef2, myocyte enhancer factor 2AExternal IDsOMIM: 600660 MGI: 99532 HomoloGene: 4080 GeneCards: MEF2A Gene location (Human)Chr.Chromosome 15 (human)[1]Band15q26.3Start99,565,417 bp[1]End99,716,488 bp[1]Gene location (Mouse)Chr.Chromosome 7 (mouse)[2]Band7 C|…

2008 Lifelock 400 Race details Race 15 of 36 in the 2008 NASCAR Sprint Cup Series season 2008 LifeLock 400 program coverDate June 15, 2008 (2008-June-15)Official name Lifelock 400Location Michigan International Speedway, Brooklyn, MichiganCourse Permanent racing facility2.0 mi (3.218 km)Distance 203 laps, 406 mi (653.393 km)Scheduled Distance 200 laps, 400 mi (643.737 km)Weather Temperatures up to 81 °F (27 °C); wind speeds reaching 12 miles per hour (19 km/h)[…

Malayalam Films ← 2018 2019 2020 → Malayalam cinema Before 1960 1960s 1960 1961 1962 1963 19641965 1966 1967 1968 1969 1970s 1970 1971 1972 1973 19741975 1976 1977 1978 1979 1980s 1980 1981 1982 1983 19841985 1986 1987 1988 1989 1990s 1990 1991 1992 1993 19941995 1996 1997 1998 1999 2000s 2000 2001 2002 2003 20042005 2006 2007 2008 2009 2010s 2010 2011 2012 2013 20142015 2016 2017 2018 2019 2020s 2020 2021 2022 2023 2024 vte The tables list the Malayalam films released in t…

Сибирский горный козёл Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКласс:…

Ashibetsu 芦別市KotaBalai Kota Ashibetsu BenderaEmblemLokasi Ashibetsu di Hokkaido (Subprefektur Sorachi)AshibetsuLokasi di JepangKoordinat: 43°31′N 142°11′E / 43.517°N 142.183°E / 43.517; 142.183Koordinat: 43°31′N 142°11′E / 43.517°N 142.183°E / 43.517; 142.183NegaraJepangWilayahHokkaidoPrefektur Hokkaido (Subprefektur Sorachi)Pemerintahan • WalikotaMitsugu OgiharaLuas • Total865,02 km2 (333,99&…

Questa voce sull'argomento singoli R&B è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Southsidesingolo discograficoArtistaLloyd FeaturingAshanti Pubblicazione8 maggio 2004 Durata4:37 Album di provenienzaSouthside GenereContemporary R&B EtichettaThe Inc., Def Jam ProduttoreJimi Kendrix Registrazione2004 FormatiCD Lloyd - cronologiaSingolo precedente—Singolo successivoHey Young Girl(2004) Southside è un brano musicale del cantante R&B Lloyd,…

Kembali kehalaman sebelumnya