⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 declare.js

📁 初学者
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.lang.declare");dojo.require("dojo.lang.common");dojo.require("dojo.lang.extras");dojo.lang.declare = function (className, superclass, init, props) {	if ((dojo.lang.isFunction(props)) || ((!props) && (!dojo.lang.isFunction(init)))) {		var temp = props;		props = init;		init = temp;	}	var mixins = [];	if (dojo.lang.isArray(superclass)) {		mixins = superclass;		superclass = mixins.shift();	}	if (!init) {		init = dojo.evalObjPath(className, false);		if ((init) && (!dojo.lang.isFunction(init))) {			init = null;		}	}	var ctor = dojo.lang.declare._makeConstructor();	var scp = (superclass ? superclass.prototype : null);	if (scp) {		scp.prototyping = true;		ctor.prototype = new superclass();		scp.prototyping = false;	}	ctor.superclass = scp;	ctor.mixins = mixins;	for (var i = 0, l = mixins.length; i < l; i++) {		dojo.lang.extend(ctor, mixins[i].prototype);	}	ctor.prototype.initializer = null;	ctor.prototype.declaredClass = className;	if (dojo.lang.isArray(props)) {		dojo.lang.extend.apply(dojo.lang, [ctor].concat(props));	} else {		dojo.lang.extend(ctor, (props) || {});	}	dojo.lang.extend(ctor, dojo.lang.declare._common);	ctor.prototype.constructor = ctor;	ctor.prototype.initializer = (ctor.prototype.initializer) || (init) || (function () {	});	var created = dojo.parseObjPath(className, null, true);	created.obj[created.prop] = ctor;	return ctor;};dojo.lang.declare._makeConstructor = function () {	return function () {		var self = this._getPropContext();		var s = self.constructor.superclass;		if ((s) && (s.constructor)) {			if (s.constructor == arguments.callee) {				this._inherited("constructor", arguments);			} else {				this._contextMethod(s, "constructor", arguments);			}		}		var ms = (self.constructor.mixins) || ([]);		for (var i = 0, m; (m = ms[i]); i++) {			(((m.prototype) && (m.prototype.initializer)) || (m)).apply(this, arguments);		}		if ((!this.prototyping) && (self.initializer)) {			self.initializer.apply(this, arguments);		}	};};dojo.lang.declare._common = {_getPropContext:function () {	return (this.___proto || this);}, _contextMethod:function (ptype, method, args) {	var result, stack = this.___proto;	this.___proto = ptype;	try {		result = ptype[method].apply(this, (args || []));	}	catch (e) {		throw e;	}	finally {		this.___proto = stack;	}	return result;}, _inherited:function (prop, args) {	var p = this._getPropContext();	do {		if ((!p.constructor) || (!p.constructor.superclass)) {			return;		}		p = p.constructor.superclass;	} while (!(prop in p));	return (dojo.lang.isFunction(p[prop]) ? this._contextMethod(p, prop, args) : p[prop]);}, inherited:function (prop, args) {	dojo.deprecated("'inherited' method is dangerous, do not up-call! 'inherited' is slated for removal in 0.5; name your super class (or use superclass property) instead.", "0.5");	this._inherited(prop, args);}};dojo.declare = dojo.lang.declare;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -