js 命名空间

 
 
yui的命名空间和继承机制
js 命名空间
js 命名空间
var YAHOO = window.YAHOO || {};
js 命名空间
js 命名空间
js 命名空间YAHOO.namespace 
= function(ns) {
js 命名空间
js 命名空间    
if (!ns || !ns.length) {
js 命名空间        
return null;
js 命名空间     }

js 命名空间
js 命名空间    
var levels = ns.split(".");
js 命名空间    
var nsobj = YAHOO;
js 命名空间
js 命名空间    
// YAHOO is implied, so it is ignored if it is included
js 命名空间
    for (var i=(levels[0== "YAHOO"? 1 : 0; i<levels.length; ++i) {
js 命名空间         nsobj[levels[i]] 
= nsobj[levels[i]] || {};
js 命名空间         nsobj 
= nsobj[levels[i]];
js 命名空间     }

js 命名空间
js 命名空间    
return nsobj;
js 命名空间}
;
js 命名空间
js 命名空间YAHOO.extend 
= function(subclass, superclass) {
js 命名空间    
var f = function() {};
js 命名空间     f.prototype 
= superclass.prototype;
js 命名空间     subclass.prototype 
= new f();
js 命名空间     subclass.prototype.constructor 
= subclass;
js 命名空间     subclass.superclass 
= superclass.prototype;
js 命名空间    
if (superclass.prototype.constructor == Object.prototype.constructor) {
js 命名空间         superclass.prototype.constructor 
= superclass;
js 命名空间     }

js 命名空间}
;
js 命名空间
js 命名空间YAHOO.namespace(
"util");
js 命名空间YAHOO.namespace(
"widget");
js 命名空间YAHOO.namespace(
"example");

js 命名空间,布布扣,bubuko.com

js 命名空间

上一篇:html标签对应的英文原文


下一篇:实现JS继承的几种方法