سؤال

هل لدى Zepto.js طريقة لإضافة فئات وتمتد مع الفئات الفرعية؟

والسؤال المتصلين هو: هل يمنحك Coffescript ، في الواقع ، القدرة على كتابة الفصول الدراسية وتوسيعها دون الحاجة إلى مكتبة مثل النموذج الأولي الذي لديه طرق محددة للقيام بذلك؟

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

المحلول

يوضح Skim of the Zepto.js أنه يحتوي على $.extend الطريقة التي قد تعمل ، ولكنها أكثر من دمج تنفيذ كائنين أكثر من نموذج الميراث التقليدي (والذي من شأنه أن يوفر أشياء مثل الملحقات الفائقة.)

ستقوم Coffescript بإنشاء الكود المطلوب لمنحك نموذج الميراث النموذجي الذي قد لا تسعى إليه.

في:

class Person
    constructor: (@name) ->

class Ninja extends Person`

خارج:

var Ninja, Person;
var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) {
  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }
  function ctor() { this.constructor = child; }
  ctor.prototype = parent.prototype;
  child.prototype = new ctor;
  child.__super__ = parent.prototype;
  return child;
};
Person = function() {
  function Person(name) {
    this.name = name;
  }
  return Person;
}();
Ninja = function() {
  function Ninja() {
    Ninja.__super__.constructor.apply(this, arguments);
  }
  __extends(Ninja, Person);
  return Ninja;
}();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top