7.4 KiB
title | localeTitle |
---|---|
Make a Person | اصنع شخصا |
تذكر استخدام Read-Search-Ask
إذا واجهتك مشكلة. حاول إقران البرنامج واكتب الكود الخاص بك
شرح المشكلة:
عندما بدأت البرنامج ، برزت للتو في إنشاء المهام الست المذكورة في التفاصيل. ومع ذلك ، لم يكن بهذه البساطة. إن ابتكارها كوظيفة ليس بالطريقة الصحيحة ، كان علي أن أقوم بإنشائها بطريقة مختلفة لجعلها مفتاحًا.
هناك أيضا جزء صعب لأنك تحتاج إلى ستة مفاتيح لا أكثر أو أقل ، لذلك في البداية كان لدي المتغير الذي يخزن الاسم الأصلي كمفتاح أيضا والذي كان خطأ.
أما بالنسبة لاستخدام الصفيف ، فهو اختياري ، يمكنك أيضًا إنشاء متغير جديد لإمساك السلسلة المنفصلة إذا كنت ترغب في ذلك ، ولكن من الأسهل التعامل مع الصفيف حيث أن السلاسل غير قابلة للتغيير.
اقرأ التعليمات بعناية ، فهو دائمًا تلميح جيد لتشغيل الشفرة والتحقق من نتائج الاختبار بحيث تعرف ما تتوقعه ولكن لا تثبت نفسك في ذلك. بمجرد أن تفهم ما تحتاج إلى القيام به ، فإن هذه المشكلة سهلة ومباشرة.
روابط ذات صلة
تلميح: 1
استخدم هذا الترميز لإنشاء المفاتيح بدلاً من الدوال العادية: هذا يعني بدلاً من var varName = function() {/*...*/}
يجب عليك استخدام this.varName = function() {/*...*/}
حاول أن تحل المشكلة الآن
تلميح: 2
يحتوي البرنامج على اختبار يتحقق من عدد المفاتيح التي استخدمتها ، يجب أن يكون ستة ، ستة المذكورة في قسم التفاصيل. هذا يعني إذا كنت بحاجة إلى العمل مع المتغيرات ، وجعلها محلية وليس مفتاح: this.fullName = firstAndLast;
حاول أن تحل المشكلة الآن
تلميح: 3
في كثير من الأحيان لا تعمل الشفرة بالطريقة التي تتوقعها بسبب أسماء المتغيرات الخاطئة ، تأكد من التحقق من تهجئتها بالطريقة الصحيحة. هذا يحدث لنا جميعا في مرحلة ما.
حاول أن تحل المشكلة الآن
تلميح: 4
إذا كنت تواجه مشاكل في كتابة أساليب setter
، في ما يلي نموذج لأسلوب set
:
this.setFullName = function(input) { // Insert your code here }
حاول أن تحل المشكلة الآن
تنبيه المفسد!
الحل في المستقبل!
الحل الأساسي للكود:
`var Person = function(firstAndLast) { var fullName = firstAndLast;
this.getFirstName = function() { return fullName.split(" ")[0]; };
this.getLastName = function() { return fullName.split(" ")[1]; };
this.getFullName = function() { return fullName; };
this.setFirstName = function(name) { fullName = name + " " + fullName.split(" ")[1]; };
this.setLastName = function(name) { fullName = fullName.split(" ")[0] + " " + name; };
this.setFullName = function(name) { fullName = name; }; };
var bob = new Person('Bob Ross'); bob.getFullName(); `
شرح الشفرة:
- قم بإنشاء متغير سيجعل نسخة من الاسم الكامل الذي تم تمريره كمعلمة.
- ثم يمكننا المضي قدمًا لإنشاء الطرق الست المطلوبة وإعادة ما يُطلب منك.
- بالنسبة للمستوطنين ، يمكننا استخدام الانقسام لتحويل الاسم بالكامل إلى مصفوفة من الأسماء الأولى والأخيرة وسَلسَلة الجزء غير المتغير من الاسم مع ما تم تمريره كمعلمة.
روابط ذات صلة
ملاحظات للمساهمات:
- لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
- أضف شرحًا لحلك.
- تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم .
- الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة . ( لا تزيل أي أسماء مستخدمين حالية )
نرى
Wiki Challenge Solution Template
كمرجع.