لقد رأيت مشكلة ، ربما هذا ما يبدو عليه.
نسخة الكود كما يلي:
name = 'Out You'
foo = function () {
this.name = 'xxoo' ؛
}
foo.prototype.say = function () {
console.log (this.name) ؛
}
f = new foo () ؛
F.Say () ؛ // ستخرج هذه الجملة xxoo
setTimeout (F.Say ، 500) ؛ // ستخرج هذه الجملة منك
هذا هو مأزق. يتم إنشاء هذا javaScript عند استدعاؤه ويرتبط بالسياق. هذه هي كيفية حلها. لقد اختبرت ذلك واستخدمت المكالمة.
نسخة الكود كما يلي:
setTimeout.call (foo () ، F.Say ، 500)
بعض الحلول عبر الإنترنت
هذه المشكلة التي تشير إلى settimeout في JS
باستخدام مؤقت في JavaScript
في النهاية ، إنها في الواقع مسألة فهم هذا.
في يوم من الأيام أفهمها وأواصل الكتابة