تنفيذ قانون كتلالمشكلة : هل تريد أن تنفذ كتل التعليمات البرمجية الخاصة بك في تطبيقات جافا سكريبت ، لتحسين التعليمات البرمجية. نظرية تنفيذ كتل التعليمات البرمجية هي تقنية البرمجة التي للوهلة الأولى يبدو أن حل مشكلة لا وجود لها. حتى أن البعض قد يقول ان كتلة رمز هو ليس اكثر من رد الهوى. رمز كتل في جافا سكريبت لا تحمل على أوجه التشابه الاسترجاعات. ولكن في لغات مثل روبي ، كتل التعليمات البرمجية هي جزء من لغة البرمجة وجعل لأبسط رمز. يمكنك استخدام كتل رمز كلما كنت أعاد قائمة أو وظيفة حيث تريد العودة إلى أجزاء متعددة من المنتسبين المعلومات مع الطالب. الحل دعونا أولا ننظر في مثال بسيط : بعض رمز لإنشاء سلسلة التربيعية. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / GenerateSquaredSeries الدالة codeblocks.html (lastValue) (مجموعة فار = صفيف الجديدة () ؛ ل (فار c1 = 0 ؛ c1 <lastValue ؛ c1 + +) ( array.push (c1 * c1) ؛عودة مجموعة) ؛)
لتوليد سلسلة من الأرقام التي هي مربع ، ويتم إنشاء حلقة أن تحصي من الصفر إلى أعلى قيمة المرجوة. من أجل كل التكرار ، وقيمة c1 * c1 (مربع من c1) يتم الضغط على طائفة. بمجرد اكتمال حلقات ، الصفيف يتم إرجاعها. ويوضح المثال مشكلة من حلقات : الحلقة ، والتهيئة للحلقة ، هو عام البنية التحتية البرمجية. رمز الشجاعة ويبين التطبيقات البرمجية محددة ، ودعا كل التكرار من الحلقة. تطبيق رمز محددة هي التي تقع بين لرمز حلقة. سرقة رمز تقع يتطلب رد الاتصال ، والتي تشبه ما يلي. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / GenerateSeries الدالة codeblocks.html (lastValue ، رد) (مجموعة فار = صفيف الجديدة () ؛ ل (فار c1 = 0 ؛ c1 <lastValue ؛ c1 + +) ( رد (صفيف ، c1) ؛عودة مجموعة) ؛) وتعديل GenerateSeries الدالة على معلمة إضافية ، والذي هو دالة رد دعا كل التكرار. الدالة رد الاتصال يخدم غرض تنفيذ منطق الأعمال ، وبالتالي تمرير الصفيف مثيل وعدد من الاستدعاء. ويمكن رد ذلك الحين عملية المعلمات التي تم تمريرها (صفيف وc1) ولكن يحلو لها. مثال على هذا يلي. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / codeblocks.html الدالة ExampleSeriesSquare () (فار صفيف = GenerateSeries (10 وظيفة (صفيف ، قيمة) ( array.push (c1 * c1) ؛)) ؛) ExampleSeriesSquare وظيفة واحدة لديها وظيفة الدعوة التي تدعو GenerateSeries. وهناك وظيفة مجهول يتم تمريرها إلى GenerateSeries التي سيتم معالجة تمريره في مجموعة والقيمة. رمز في تنفيذ الدالة المجهول مطابق لمنطق رمز التطبيق في GenerateSquaredSeries ، الذي هو ليس واضحا. على سبيل المثال وظيفة مجهول هي كتلة رمز. وكما ذكر سابقا ، فإن كتلة رمز يشبه الاستدعاء. ما الذي يجعل رد مختلفة من كتلة رمز هو أن كتلة رمز ذو طابع عام ، ويمثل الفصل بين قطعتين من رمز. لتحويل رمز من سيناريو الاستدعاء إلى كتلة رمز السيناريو ، GenerateSeries وExampleSeriesSquare يتم كتابتها على النحو التالي : وظيفة GenerateSeriesMod (lastValue ، رد) (ل (فار c1 = 0 ؛ c1 <lastValue ؛ c1 + +) (الاستدعاء (c1) ؛)) ExampleSeriesSquareMod الدالة () (مجموعة فار = صفيف الجديدة () ؛ GenerateSeries (10 وظيفة) قيمة) (array.push (c1 * c1) ؛)) ؛) المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / codeblocks.html الدالة CustomList () (this.array = صفيف الجديدة () ؛) CustomList.prototype.iterate = وظيفة (رد) (ل(البند في this.array) (الاستدعاء (البند ) ؛)) CustomList.prototype.addItems = الدالة () (ل (فار c1 = 0 ؛ c1 <arguments.length ؛ c1 + +) (this.array.push (الحجج [c1]) ؛)) على سبيل المثال ، فئة CustomList يجري تحديدها. القائمة المخصصة لها وظيفتين : وأعاد addItems. وظيفة addItems يستخدم لإضافة عنصر إلى قائمة ، وأعاد بالتكرار وظيفة كل عنصر من العناصر في الحلقة ، ويدعو إلى رد. المعلمة الاستدعاء يمثل كتلة التعليمات البرمجية. مثال باستخدام CustomList هي على النحو التالي. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / codeblocks.html class_list_iterate : الدالة () (قائمة فار = CustomList الجديدة () ؛ list.addItems ( "مرحبا" ، "العالم") ؛ list.iterate (وظيفة) (البند) (معلومات ( "class_list_iterate" ، والبند) ؛)) ؛) ، CustomList مثيل وأسند إلى قائمة متغير. بند يضاف إلى قائمة باستخدام الدالة addItems. لاحظ أن addItems هو متعددة المعلمة - علم. في كثير من الأحيان في لغات البرمجة ، تحتاج إلى استدعاء الأسلوب addItem لإضافة عنصر إلى قائمة بقدر ما هناك سلع. الأسلوب addItems يختلف في ذلك يمكنك تحديد العديد من المعالم كما تشاء ، ولكل من هذه المعايير تمثل عنصرا واحدا لإضافتها إلى القائمة. أعاد إلى القائمة ، كتلة رمز يتم تعريفها ، وفي تنفيذ كتلة التعليمات البرمجية ، يمكن أن تكون البيانات غير المجهزة يحلو لها الطالب. في هذا المثال ، يتم انتاج سلع باستخدام الأسلوب المعلومات. مدونة كتل يمكن أن تستخدم أيضا لتوليد القيم وعملية العودة. دعونا النظر كمثال على ذلك أن يخلق وظيفة استخدامها للعثور على الإحصاءات الختامية لأخبار الأسهم. التالي هو تنفيذ للقانون وغير التقليدية باستخدام رمز نهج الكتلة : وظيفة StockTracerTraditional (شريط) (اذا (شريط == "YHOO") (الكائنات فار = كائن جديد () ؛ this.company = "ياهو" ؛ this.Close = 23 ؛ this.change = -1 ؛ الكائنات العودة ؛) العودة اغية ؛) CallerStockTracer الدالة () (فار الكائنات = StockTracerTraditional ( "YHOO") ؛ إذا (الكائنات! = فارغة) (معلومات ( "RETURN_VALUE" ، "شركة =" + obj.company + "وثيقة =" + + obj.close ➥ "تغيير =" + obj.change) ؛)) وظيفة StockTracerTraditional قد معلمة واحدة : شريط يمكن العثور عليها. إذا كان شريط تم العثور على كائن هو مثيل والخصائص الملائمة يتم تعيينها. بمجرد أن يتم تعيين خصائص الكائن مثيل يتم إرجاعها. CallerStockTracer الدالة على تنفيذ المكالمات StockTracerTraditional مع شريط المناسبة ، وعاد وجوه سبيل المثال يتم تعيين الكائنات. ثم يتم اتخاذ قرار للتحقق إذا كانت الكائنات هي فارغة أم لا. إذا تم العثور على شريط ، ثم الكائنات لن تكون لاغية والكائن يمكن معالجتها. على خلاف ذلك ، يمكن أن ترجع الدالة دون أن تفعل شيئا. رمز المثال أن تكون مبسطة باستخدام كتل التعليمات البرمجية. وبعد كتابة تنفيذ StockTracerTraditional يستخدم رمز كتل النتائج. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / codeblocks.html الدالة StockTracker (شريط ، رد) (اذا (شريط == "YHOO") (الاستدعاء ( "ياهو" ، 23 ، -1) ؛)) وظيفة StockTrader هو إعادة كتابة ، وقرار منع نفسه من العثور على شريط يستخدم. ما هو الجديد في الامر هو استخدام الاستدعاء الذي يسمى عندما يتم العثور على شريط. النظر في ما يمكن أن يحدث اذا تم العثور على شريط YHOO : رد الاتصال يسمى مع ثلاث معلمات. إذا كان قانون منع لم تستخدم ، ثم كائن يجب أن يكون مثيل ، وعاد إلى المستدعي. لأن كتلة رمز يستخدم ، ليست هناك حاجة للتحقق مما إذا تم إرجاع البيانات ، كما يتضح من التعليمات البرمجية التالية المستدعي. المصدر : / الانترنت / الجذر / ajaxrecipes / جافا سكريبت / RETURN_VALUE codeblocks.html : الدالة () (StockTracker ( "YHOO" ، وظيفة (الشركة ، وثيقة ، وتغيير) (/ / لا شيء مع معلومات البيانات ( "RETURN_VALUE" ، "شركة =" + + شركة "وثيقة =" + + وثيقة "تغيير =" + ➥ تغيير) ؛)) ؛) ، يدعو StockTracker مع شريط للعثور على النحو YHOO سيؤدي إلى وظيفة مجهول يطلق عليها. في تنفيذ الدالة المجهولة ستكون الشفرة التي يتم تنفيذها عندما تكون البيانات قد عادت بنجاح. مع كتل التعليمات البرمجية ، المتصل ليس لديها لتنفيذ بنية المقرر ، وذلك لأن وظيفة مجهول وسوف يطلق إلا إذا كان شريط موجود. مدونة كتل هي وسيلة لتحقيق الغاية ، ولا تعني أنه يجب أبدا استخدام كتل قرار أو خلق حلقات مع منطق التطبيق. رمز كتل توفير amechanism لتبسيط ورمز من فصل آخر. عند استخدام رمز لبنات ، ونتذكر ما يلي : • قانون يمنع مثل الاسترجاعات ، إلا أنه رمز لبنات تعزيز الفصل بين المنطق ، وجعل قطعة من رمز مستقلة عن بعضها البعض. • الاستفادة من كتل رمز هو أنها يمكن أن نتائج عملية واحدة ، عدة نتائج ، أو أية نتائج. رمز الاتصال ليس لديها لتحديد ما إذا كانت نتائج عملنا. • استخدام الطابع الدينامي للجافا سكريبت ، ويمكن وظيفة عملية معلمات متعددة كمجموعة. • يمكن أن يكون قانون يمنع استخدامها كبديل للبيان العودة إلى إرسال البيانات أكثر تعقيدا. كما ذكر في وصفة 2-17 ، كتل التعليمات البرمجية هي الطريقة المثلى للعودة البيانات إلى الطالب دون الحاجة إلى استخدام نوع العودة. مقال مقدم من سونيا Lande تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات. المهم : هذه المادة "تنفيذ قانون كتل" وقد ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.
|
|||||
| Online: 310 users browsing the articles directory |
|
|