الشيء الرئيسي الذي أريد حل المشاكل التالية:
1. ما هو الفرق بين التطبيق والاتصال
2. الاستخدامات الذكية الأخرى للتطبيق (عادةً ما يمكن استخدام الظروف التي يمكن استخدامها) يمكن استخدامها)
لقد وجدت أولاً تعريفات التطبيق والاتصال من الإنترنت ، ثم استخدمت أمثلة لشرح معنى هاتين الطريقتين وكيفية استخدامها.
تطبيق: يمكن أن تختطف الطريقة طريقة كائن آخر وترث خصائص كائن آخر.
وظيفة
OBJ: سيحل هذا الكائن محل هذا الكائن في فئة الوظائف
args: هذه مجموعة ، سيتم تمريرها كوسيطة للعمل (args-> الوسيطات)
الاتصال: يعني نفس التطبيق ، ولكن قائمة المعلمات مختلفة.
function.call (obj ، param1 ، param2 ، ... ، paramn)
OBJ: سيحل هذا الكائن محل هذا الكائن في فئة الوظائف
Params: هذه قائمة معلمات
تطبيق مثال:
<script type = "text/javaScript">/*تحديد شخص بشري*/وظيفة (الاسم ، العمر) {this.name = name ؛ هذا. this.grade = grade ؛} // قم بإنشاء فئة طالب var student = New Student ("Qian" ، 21 ، "Pirst Grade") ؛ // Test ALERT ("name:"+student.name+"/n"+"Age:"+student.age+"/n"+"endustr.grade) ؛ لماذا هاتين السمة لهما قيم؟ هذا هو سحر التطبيق. </script>التحليل: person.apply (هذا ، الحجج) ؛
هذا: عند إنشاء كائن ، فإنه يمثل الطالب
الحجج: هي صفيف ، أي ["Qian" ، "21" ، "الصف الأول"] ؛
بمعنى آخر ، من حيث Layman ، هو: استخدم الطالب لتنفيذ محتويات فصل الشخص. هناك عبارات مثل هذا. الاسم في فئة الشخص ، بحيث يتم إنشاء السمات في كائن الطالب.
استدعاء مثال
في وظيفة studen ، يمكنك تعديل التطبيق على ما يلي:
person.call (هذا ، الاسم ، العمر) ؛
الفرق
عند إعطاء معلمات الكائن ، إذا كان نموذج المعلمة عبارة عن صفيف ، على سبيل المثال ، يتم تمرير وسيطات المعلمة في مثال التطبيق ، فإن هذه المعلمة هي نوع صفيف ، وعندما يتصل الشخص ، تكون قائمة المعلمات تتوافق مع ذلك (أي ، أول رقمين من قائمة المعلمات والطالب ثابتة) ، يمكنك استخدام التطبيق. إذا كانت قائمة المعلمات الخاصة بشخصي مثل هذا (العمر ، الاسم) ، وقائمة المعلمات للطالب هي (الاسم ، العمر ، الصف) ، يمكن تحقيق ذلك عن طريق الاتصال ، أي ، يتم تحديد موضع القيمة المقابلة لقائمة المعلمة (person.call (هذا ، العمر ، الاسم ، الصف)) ؛
بعض الاستخدامات الذكية الأخرى للتطبيق
قد لاحظ الأشخاص الحذرون أنه عندما أتصل بالطريقة تطبيق ، فإن المعلمة الأولى هي الكائن (هذا) ، والمعلمة الثانية هي مجموعة صفيف.
عند الاتصال بالشخص ، فإن ما يحتاجه ليس صفيفًا ، ولكن لماذا يعطيني صفيفًا لا يزال بإمكاني تحليل الصفيف في معلمة واحدة ،
هذا هو استخدام ذكي للتطبيق. يمكنك تحويل صفيف إلى قائمة معلمات بشكل افتراضي ([param1 ، param2 ، param3] إلى param1 ، param2 ، param3). إذا استخدمنا البرنامج لتنفيذ تنفيذ استبدال كل عنصر في الصفيف بقائمة المعلمات ، فقد يستغرق الأمر بعض الوقت. بمساعدة ميزة التطبيق هذه ، لدينا الطريقة الفعالة التالية:
أ) يمكن لـ Math.Max تحقيق أكبر عنصر في الصفيف
لأن معلمة Math.Max لا تدعم Math.Max ([param1 ، param2]) أي الصفيف
ومع ذلك ، فإنه يدعم Math.max (param1 ، param2 ، param3 ...) ، بحيث يمكنك حل مشكلة var max = math.max.apply (null ، array) استنادًا إلى ميزة التطبيق الآن ، بحيث يمكنك بسهولة الحصول على أكبر عنصر في مجموعة
(سوف يحل تطبيق مجموعة صفيف بمعلمة واحدة وتمريرها إلى الطريقة تلو الأخرى)
عندما يتم استدعاء هذا الجزء ، يتم إعطاء المعلمة الأولى فارغة. هذا لأنه لا يوجد كائن لاستدعاء هذه الطريقة. أنا فقط بحاجة إلى استخدام هذه الطريقة لمساعدتي في حساب والحصول على النتيجة التي تم إرجاعها. لذا فقد مررت مباشرة
ب) يمكن للرياضيات أن يحقق أصغر عنصر في الصفيف
أيضا ، هو نفس ماكس
var min = math.min.apply (null ، array) ؛
ج) Array.Prototype.push يمكن تنفيذ مجموعة من صفيفتين
لا توفر طريقة الدفع صفيفًا ، ولكنه يوفر Push (param1 ، param ، ... paramn) حتى تتمكن أيضًا من تثبيت المصفوفة واستبدالها عن طريق التطبيق ، أي:
vararr1 = صفيف جديد ("1" ، "2" ، "3") ؛ vararr2 = صفيف جديد ("4" ، "5" ، "6") ؛ Array.Prototype.push.apply (arr1 ، arr2) ؛يمكن أيضًا فهمه بهذه الطريقة ، يستدعي ARR1 طريقة الدفع ، ويتم استبدال المعلمات بتطبيق مجموعة الصفيف على مجموعة من قوائم المعلمات.
ما سبق هو الفهم الكامل لدعوة الإدخال الرئيسية التي يجلبها لك المحرر. آمل أن يتمكن الجميع من دعم wulin.com ~