أفضل طريقة لاستخدام جافا سكريبت "أجزاء جيدة"

StackOverflow https://stackoverflow.com/questions/366887

  •  21-08-2019
  •  | 
  •  

سؤال

في توصية المعبئ، لقد قرأت كروكفورد الممتاز <م> جافا سكريبت: أجزاء جيدة

وانه كتاب عظيم، ولكن منذ ويخصص الكثير من ذلك إلى وصف أفضل طريقة لاستخدام الوظائف الأساسية جافا سكريبت، وأنا لست متأكدا كيف يمكن أن أضع نصيحته موضع التنفيذ دون تكرار جهود العديد من المبرمجين جافا سكريبت الآخرين.

وخذ هذا المقطع، على سبيل المثال:

<اقتباس فقرة>   

عند إجراء كائن جديد، يمكنك تحديد الكائن الذي يجب أن يكون النموذج الأولي. الآلية التي توفر جافا سكريبت لتحقيق ذلك هي الفوضى ومعقدة، ولكنها يمكن أن تكون مبسطة إلى حد كبير. وسوف نضيف طريقة create إلى وظيفة Object. طريقة create بإنشاء كائن جديد يستخدم كائن قديمة النموذج الأولي.

if (typeof Object.create !== 'function') {
 Object.create = function(o) {
  var F = function () {};
  F.prototype = o;
  return new F();
}

وبوسعي أن أضيف يدويا هذه الشفرة إلى جميع مشاريعي جافا سكريبت، ولكن تتبع كل شيء أن يكون الألم كبيرا.

على هل هناك أي المكتبات التي تنفذ جزء لا بأس به الصورة توصيات وبالتالي نجني عناء الاضطرار إلى تتبع لهم (/ بدنيا اكتب كل منهم)؟

هل كانت مفيدة؟

المحلول

نموذج لديها العديد من الميزات الرائعة، بما في ذلك <وأ href = "http://prototypejs.org/api / فئة "يختلط =" نوفولو noreferrer "> فئة المساعد الذي يعالج تفاصيل JS" الميراث "من خلال نموذج كائن.

وتحرير: اللعنة، وأظل نسيان أن مسج (مكتبتي الخاصة في الاختيار) لديه مسج. تمديد

نصائح أخرى

ولا انه عمل لياهو؟ هل يمكن دائما استخدام مكتبات واجهة المستخدم ياهو .

وشخصيا، أنا جزئي ل مسج ، كما يبدو لي أكثر إيجازا، ولكن تعلمون: الخيول للدورات.

دوجو اتبعت الأفكار كروكفورد بشكل وثيق جدا. على سبيل المثال، هناك تنفيذ مقتطف الشفرة الذي نفذت أعلاه تحت dojo.delegate وظيفة (في شكل أسرع).

وأنا لا أعتقد أن هناك مشروع معين التي تتبع توصياته إلى نقطة الإنطلاق. معظم الأدوات نختلف فعلا مع عدد غير قليل من توصياته والأنماط. إذا كنت تتساءل عن وظائف معينة، مثل أن التعليمات البرمجية المتكررة أعلاه، سيكون يجدر التساؤل حول أي أدوات محددة من الكتاب الذي تريد استخدامه في المشاريع الخاصة بك.

وأعتقد YUI هو الأقرب إلى ما يعلمه كروكفورد في كتابه. (وهو مهندس ياهو أيضا وكان من المنطقي)

وإلقاء نظرة على ES5 شيم أو المكتبة التي توفر - وإن كانت غير كاملة - شيم لObject.create() وغيرها من الامور.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top