الفكر الكيميائي كيلي: فكرة معالجة JS قبل المعالجة ؛ يمكن تشكيل المبدأ القائل بأن استخدام تنفيذ الوظيفة يمكن أن يشكل نطاقًا غير يتم تدميره ، ويتم تخزين جميع المحتوى الذي يجب معالجته مسبقًا في هذا النطاق الذي لم يتم تدميره ، وسيتم تنفيذ وظيفة صغيرة في الوظيفة الصغيرة.
تلعب وظيفة الكاري بشكل رئيسي دورًا في المعالجة المسبقة ؛
دالة طريقة الربط: معالجة هذا في طريقة رد الاتصال على رد الاتصال الذي تم تمريره في سياق سياق ؛
/*** مبدأ تنفيذ طريقة ربط طريقة 1* param رد الاتصال [الدالة] وظيفة رد الاتصال* param context [object] context* @returns {function} قم بتغيير الوظيفة التي يتم الإشارة إليها بواسطة هذا*/الوظيفة ربط (callback ، context) {var outerarg = array.protopy.slice.call (الحجج 2) النطاق الحالي Return Function () {var innerarg = array.prototype.slice.call (الوسيطات ، 0) ؛ // يعني أخذ جميع معلمات الوسائط في النطاق الحالي ؛ callback.apply (السياق ، outerarg.concat (innerarg)) ؛ }} /*** تقليد مبدأ تنفيذ الربط على سلسلة النموذج الأولي (فكرة الوظيفة الكورية والكيميائية)* Param Context [Object] Context* returns {function} الوظيفة التي يتم الإشارة إليها بواسطة*/function.prototype.mybind = function myBind (context) {var _this = this ؛ var outarg = array.prototype.slice.call (الوسائط ، 1) ؛ // if ('bind' in function.prototype) {return this.bind.apply (this ، [context] .Concat (outArg)) ؛ } // return في حالة عدم التوافق دالة () {var inarg = array.prototype.slice.call (الوسيطات ، 0) ؛ inarg.length === 0؟ inarg [inarg.length] = window.event: null ؛ var arg = outarg.concat (inarg) ؛ _ this.apply (السياق ، arg) ؛ }}ما سبق هو الكود ذي الصلة لتنفيذ طريقة الربط باستخدام وظائف الكاري. آمل أن يكون من المفيد للجميع تعلم برمجة JavaScript.