نقول أن وضع الاتصال للدالة ما يسمى كدالة ، وهو التمييز بينها عن أوضاع الاتصال الثلاثة الأخرى.
هناك ثلاث مكالمات أخرى إلى الوظيفة: وضع استدعاء الطريقة ، وضع استدعاء مُنشئ ، وتطبيق/وضع الاتصال.
وضع الاتصال الوضع:
var obj = {fun1: function () {// method content this ؛ // يشير إلى Window}} obj.fun1 () // method callاستدعاء مُنشئ:
وظيفة الشخص (الاسم ، العمر ، الوظيفة) {this.name = name ؛ this.age = العمر ؛ this.job = Job ؛ this.sayname = function () {Alert (this.name) ؛ } ؛} var person1 = شخص جديد ("Nicholas" ، 29 ، "Engineer") ؛ var person2 = شخص جديد ("Greg" ، 27 ، "Doctor") ؛تطبيق/وضع الاتصال/الاتصال:
دالة cat () {} cat.prototype = {food: "fish" ، say: function () {Alert ("i love" + this.food) ؛ }} ؛ var blackcat = new cat ؛ Blackcat.say () ؛إذا لم يكن هناك بيان إرجاع صريح هنا ، فسيتم إرجاع الكائن الجديد ضمنيًا ويصبح قيمة هذا المنشئ. بمعنى آخر ، يمكن أن يكون مكافئًا لـ: var blackcat = new cat () ؛
ولكن إذا كان لدينا كائن
var whitedog = {food: "bone"} ؛لا نريد إعادة تعريف طريقة Say لذلك ، ثم يمكننا استخدام طريقة Say Blackcat عن طريق الاتصال أو التقديم:
Blackcat.say.call (Whitedog) ؛
لذلك ، يمكن ملاحظة أن المكالمة والتطبيق يبدوان لتغيير هذا بشكل ديناميكي. عندما لا يكون للكائن طريقة معينة ، ولكن يمكن للآخرين استخدام الاتصال أو التقدم للعمل مع طرق الكائن الأخرى.
لمزيد من الاستخدام ، فإن عقدة DOM التي تم تحديدها من خلال document.getElementsByTagName هي صفيف مشابه للمصفوفة (الوسيطات ، إلخ). لا يمكن تطبيق الدفع ، والبوب وطرق أخرى تحت الصفيف. يمكننا استخدام:
var domnodes = array.prototype.slice.call (document.getElementSbyTagName ("*")) ؛
وبهذه الطريقة ، يمكن لـ Domnodes تطبيق جميع الأساليب قيد الصفيف.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.