The Namespace library demo
Demo of the namespace library.
author(s):
Irakli Gozalishvili
HTML
<script src="http://jeditoolkit.com/teleport/support/teleport/teleport.js"></script>
JavaScript
define('demo', function(require, exports, module, undefined) {
'use strict'
// importing library.
var Namespace = require('http://jeditoolkit.com/namespace/lib/namespace.js').Namespace
// Creating namespace for private properties.
var _ = new Namespace
function Base(options) {
_(this).secret = options.secret
}
Base.prototype.hello = function hello() {
return 'Hello ' + _(this).secret
}
function Decedent(options) {
Base.call(this, options)
}
Decedent.prototype = Object.create(Base.prototype)
Decedent.prototype.bye = function bye() {
return 'Bye ' + _(this).secret
}
Decedent.prototype.boom = function boom() {
_(this).secret = 'boom !'
}
var base = new Base({ secret: 'Father' })
alert(base.secret) // -> undefined
alert(base.hello()) // -> 'Hello Father'
var decedent = new Decedent({ secret: 'Yoda' })
alert(decedent.hello()) // -> 'Hello Yoda'
alert(decedent.bye()) // -> 'Bye Yoda'
decedent.boom();
alert(decedent.hello()) // -> 'Hello boom !'
alert(decedent.bye()) // -> 'Bye boom !'
})
// Loading module "demo"
require.main("demo")