extend
can.Construct.extend([name,] [staticProperties,] instanceProperties)
Extends can.Construct, or constructor functions derived from can.Construct,
to create a new constructor function. Example:
Animal = can.Construct.extend({
sayHi: function(){
console.log("hi")
}
})
var animal = new Animal()
animal.sayHi();
Parameters
-
name
{String}OptionalCreates the necessary properties and objects that point from the
windowto the created constructor function. The following:can.Construct.extend("company.project.Constructor",{})creates a
companyobject on window if it does not find one, aprojectobject oncompanyif it does not find one, and it will set theConstructorproperty on theprojectobject to point to the constructor function.Finally, it sets "company.project.Constructor" as fullName and "Constructor" as shortName.
-
staticProperties
{Object}OptionalProperties that are added the constructor function directly. For example:
Animal = can.Construct.extend({ findAll: function(){ return can.ajax({url: "/animals"}) } },{}); Animal.findAll().then(function(json){ ... })The static setup method can be used to specify inheritable behavior when a Constructor function is created.
-
instanceProperties
{Object}Properties that belong to instances made with the constructor. These properties are added to the constructor's
prototypeobject. Example:Animal = can.Construct.extend({ init: function(name){ this.name = name; }, sayHi: function(){ console.log(this.name,"says hi") } }) var animal = new Animal() animal.sayHi();
Returns
{function()}
The constructor function.