الكلمات السابقة
يوجد 46 عاملًا في JavaScript. بالإضافة إلى مشغلي الحساب والمشغلين العلائقيين ومشغلي البتات والمشغلين المنطقيين المذكورة سابقًا ، هناك العديد من المشغلين. ستقدم هذه المقالة مشغليًا مشروطًا ومشغلين للفواصل ومشغلي المهام ، () ومشغلي الفراغ
المشغل الشرطي
المشغل الشرطي هو المشغل الثلاثي الوحيد (ثلاثة معاملات) في JavaScript ، ويسمى أحيانًا "عامل ثلاثي" مباشرة. عادةً ما يتم كتابة هذا المشغل على أنه "؟:" ، بالطبع ، لا يتم اختصاره في الغالب في الكود ، لأن هذا المشغل لديه ثلاثة معاملات ، أول معامل قبل "؟" ، المعامل الثاني بين "؟"؟ و ":" ، والمعامل الثالث بعد ":"
متغير = boolean_expression؟ true_value: false_value ؛
يعتمد هذا بشكل أساسي على نتيجة تقييم boolean_expression ، والذي يحدد قيمة المتغير المتغير. إذا كانت نتيجة التقييم صحيحة ، فسيتم تعيين المتغير المتغير المتغير True_Value ؛ إذا كانت نتيجة التقييم خاطئة ، فسيتم تعيين المتغير المتغير false_value_value
يمكن أن يكون معامل المشغل الشرطي من أي نوع ، ويتم التعامل مع المعامل الأول كقيمة منطقية ، وإذا كان صحيحًا ، فسيتم حساب المعامل الثاني وسيتم إرجاع نتيجة الحساب. خلاف ذلك ، إذا كان المعامل الأول هو قيمة خاطئة ، يتم حساب المعامل الثالث ويتم إرجاع نتيجة الحساب. تحسب المعاملات الثانية والثالثة دائمًا أحدها ، ومن المستحيل تنفيذ كليهما في نفس الوقت.
في الواقع ، فإن استخدام البيانات ستجلب أيضًا نفس التأثير ، فإن المشغل "؟:" يوفر فقط نموذج اختصار. فيما يلي سيناريو تطبيق نموذجي لـ "؟:" ، لتحديد ما إذا كان يتم تعريف المتغير (ولديه قيمة الحقيقة ذات معنى) ، استخدمه إذا كان هناك تعريف ، واستخدم قيمة افتراضية إذا لم يكن هناك تعريف:
تحية = 'hello' + (اسم المستخدم؟ اسم المستخدم: 'هناك') ؛
هذا يعادل الرمز أدناه باستخدام عبارة if ، ولكن من الواضح أن الرمز أعلاه أكثر إيجازًا:
تحية = 'hello' ؛ إذا (اسم المستخدم) تحية += اسم المستخدم ؛ آخر تحية += 'هناك' ؛
التعبير الشرطي الثلاثي له نفس تأثير التعبير مثل بيان IF ... آخر ، ولكن هناك فرق كبير بين الاثنين. إذا ... أخرى عبارة عن بيان وليس لها قيمة إرجاع ؛ التعبير الشرطي الثلاثي هو تعبير وله قيمة الإرجاع. لذلك ، في الحالات التي تكون فيها قيمة الإرجاع مطلوبة ، يمكنك فقط استخدام التعبيرات الشرطية الثلاثية ، وليس إذا ... أخرى
console.log (true؟ 't': 'f') ؛
في الكود أعلاه ، يجب أن تكون معلمة طريقة Console.log تعبيرًا ، ويمكن استخدام التعبيرات الشرطية فقط.
مشغل فاصلة
مشغل الفاصلة هو مشغل ثنائي ، ويمكن أن يكون معامله من أي نوع. يقوم أولاً بحساب المعامل الأيسر ، ثم يحسب المعامل الأيمن ، ويعيد أخيرًا قيمة المعامل الأيمن. استخدم مشغل الفاصلة لأداء عمليات متعددة في بيان
i = 0 ، j = 1 ، k = 2 ؛ // نتيجة الحساب هي 2 ، وهو ما يعادل بشكل أساسي الكود أدناه i = 0 ؛ J = 1 ؛ ك = 2 ؛
غالبًا ما يتم استخدام مشغلي الفاصلة لإعلان متغيرات متعددة
var inum1 = 1 ، inum = 2 ، inum3 = 3 ؛
السيناريو الأكثر شيوعًا لمشغلي الفواصل هو في حلقة ، والتي عادة ما تحتوي على متغيرات حلقة متعددة:
.
يمكن أيضًا استخدام مشغل الفاصلة للتخصيص ، وعند استخدامه في المهمة ، يقوم مشغل الفاصلة دائمًا بإرجاع العنصر الأخير في التعبير.
var num = (1،2،3،4،5) ؛ console.log (num) ؛ // 5
[ملاحظة] قم بإزالة الأقواس وسيقوم بالإبلاغ عن خطأ
عامل المهمة
يتم تمثيل مشغل التعيين البسيط من خلال العلامة المتساوية '=' ، والتي تعين القيمة على يمين العلامة المتساوية للمتغير أو السمة على يسار العلامة المتساوية.
i = o ؛ ox = 1 ؛
يتوقع المشغل '=' أن يكون معامله الأيسر عبارة عن lvalue: سمة متغير أو كائن (أو عنصر صفيف). يمكن أن يكون المعامل الصحيح أي قيمة من أي نوع. قيمة تعبير المهمة هي قيمة المعامل الصحيح
على الرغم من أن تعبيرات المهمة عادة ما تكون بسيطة للغاية ، إلا أنك ستظل في بعض الأحيان ترى بعض التعبيرات المعقدة التي تحتوي على تعبيرات مهمة. على سبيل المثال ، يمكنك وضع العوامل والعلائقية في تعبير واحد ، مثل هذا:
(أ = ب) == 0
إذا قمت بذلك ، فيجب أن تعرف بوضوح الفرق بين مشغلي '=' و '=='. '=' له أولوية منخفضة جدا. عادةً ما يتم استخدام قيمة بيان التعيين في تعبير أطول ، يجب إضافة قوسين لضمان الترتيب الصحيح للعمليات.
الطبيعة الملزمة لمشغل المهمة هي من اليمين إلى اليسار ، أي إذا ظهر عوامل متعددة في التعبير ، فإن ترتيب التشغيل من اليمين إلى اليسار. لذلك ، يمكن تعيين متغيرات متعددة بالطريقة التالية:
i = j = k = 0 ؛ // تهيئة ثلاثة متغيرات إلى 0
يوفر JavaScript أيضًا 11 مشغليًا للمجمع. يتم تحديد جميع مشغلي التعيين المركب هذه أولاً ، ثم إرجاع القيمة التي تم الحصول عليها إلى المتغير على اليسار.
[ملاحظة] الغرض من تصميم هؤلاء المشغلين هو تبسيط عمليات المهمة ، ولن يؤدي استخدامها إلى إحداث أي تحسينات في الأداء.
إجمالي + = sales_tax ؛ // يعادل إجمالي = إجمالي + sales_tax ؛
مثال المشغل يعادل+= a+= ba = a+b- = a- = ba = ab*= a*= ba = a*b/= a/= ba = a/b ٪ = a ٪ = a ٪ b << = a << = ba = a << b >> = a >> ba = a >> b >> a & = ba = a & b | = a | = ba = a | b^= a^= ba = a^b
في معظم الحالات ، التعبير هو:
A OP = ب
تمثل هنا OP عاملًا ، وهذا التعبير يعادل التعبير التالي
A = A OP B
في السطر الأول ، يتم حساب التعبير A مرة واحدة ، وفي السطر الثاني ، يتم حساب التعبير A مرتين. فقط عندما يحتوي A على تعبيرات ذات آثار جانبية (مثل مكالمات الوظائف وعمليات التعيين) ، سيكون الاثنان عدم مساواة
البيانات [i ++]*= 2 ؛ البيانات [i ++] = البيانات [i ++]*2 ؛
مشغل قوسين
هناك استخدامان لمشغل الدعامة: إذا تم وضع التعبير بين قوسين ، فإن الوظيفة هي التقييم ؛ إذا تليها وظيفة ، فإن الوظيفة هي استدعاء الوظيفة.
ضع التعبير بين الأقواس وأرجع قيمة التعبير
console.log ((1)) ؛ //1console.log('a ')) ؛ //'a'console.log(1+ 2)) ؛ // 3سيؤدي وضع الكائن بين قوسين إلى إرجاع قيمة الكائن ، أي الكائن نفسه
var o = {p: 1} ؛ console.log ((o)) ؛ // object {p: 1}وضع الوظيفة بين قوسين إرجاع الوظيفة نفسها. إذا اتبعت الأقواس الوظيفة ، فهذا يعني استدعاء الوظيفة ، أي تقييم الوظيفة
الدالة f () {return 1 ؛} console.log ((f)) ؛ // function f () {return 1 ؛} console.log (f ()) ؛ // 1نظرًا لأن الغرض من الأقواس هو التقييم ، إذا تم وضع البيان في الأقواس ، فسيتم الإبلاغ عن خطأ لأنه لا يعيد البيان القيمة
console.log (var a = 1) ؛ // syntaxerror: argensole.log غير متوقع ((var a = 1)) ؛
مشغل باطل
void هو مشغل أحادي. يظهر قبل المعامل. يمكن أن يكون المعامل من أي نوع. سيتم حساب المعامل كالمعتاد ، ولكن يتم تجاهل نتيجة الحساب وإرجاع غير محدد. نظرًا لأن void يتجاهل قيمة المعاملات ، فاستخدم void عندما يكون للمعاملات آثار جانبية لجعل البرنامج أكثر دلالة
console.log (void 0) ؛ // undefinedconsole.log (void (0)) ؛ // غير محدد
【الوظيفة 1】 استبدل غير محدد
نظرًا لأن غير المحدد ليس كلمة رئيسية ، فسيتم إعادة كتابته في متصفح IE8 وفي نطاق وظائف الإصدار الأعلى ؛ لذلك ، يمكن استبدال غير محدد بالفراغ 0
var undefined = 10 ؛ console.log (غير محدد) ؛ // ie8-it هو 10 تحت المتصفح ، ودالة غير محددة t () {var undefined = 10 ؛ console.log (غير محدد) ؛} console.log (t ()) ؛ // هو 10 تحت جميع المتصفحات【الدور 2】 عنوان URL العميل
يستخدم هذا المشغل الأكثر شيوعًا في عناوين URL للعميل - JavaScript: URL. يمكن كتابة التعبيرات ذات الآثار الجانبية في عنوان URL ، بينما يسمح Void للمتصفح بتجنب عرض نتائج الحساب لهذا التعبير. على سبيل المثال ، غالبًا ما يتم استخدام مشغل الفراغ في علامة <a> في رمز HTML
<a href = "javaScript: void window.open () ؛"> افتح نافذة جديدة </a>
【تأثير ثلاثة】 كتلة الأحداث الافتراضية
تتمثل طريقة حظر الحدث الافتراضي في تعيين قيمة الإرجاع على FALSE.
// طريقة الكتابة العامة <a href = "http://example.com" onClick = "f () ؛ return false ؛"> text </a>
استخدم مشغل الفراغ لاستبدال طريقة الكتابة أعلاه
<a href = "javaScript: void (f ())"> النص </a>
تناقش المقالة أعلاه باختصار مشغلي JavaScript - الشروط ، الفواصل ، المهمة ، () مشغلي الفراغ كلها المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.