国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

tangram.js庫實現js類的方式實例分析

2019-11-19 14:34:55
字體:
來源:轉載
供稿:網友

本文實例講述了tangram.js庫實現js類的方式。分享給大家供大家參考,具體如下:

前面一篇//www.survivalescaperooms.com/article/25781.htm對tangram.js庫做了較為詳細的介紹,這里結合實例分析一下tangram.js庫實現js類的方式。代碼如下:

/* * Tangram * Copyright 2010 Baidu Inc. All rights reserved. * * @author: meizz * @namespace: baidu.lang.createClass * @version: 1.6.0 *////import baidu.lang;///import baidu.lang.Class;///import baidu.lang.Event;/** * 創建一個類,包括創造類的構造器、繼承基類Class * @name baidu.lang.createClass * @function * @grammar baidu.lang.createClass(constructor[, options]) * @param {Function} constructor 類的構造器函數 * @param {Object} [options] * @config {string} [type] 類名 * @config {Function} [superClass] 父類,默認為baidu.lang.Class * @version 1.2 * @remark *      使用createClass能方便的創建一個帶有繼承關系的類。同時會為返回的類對象添加extend方法,使用obj.extend({});可以方便的擴展原型鏈上的方法和屬性 * @see baidu.lang.Class,baidu.lang.inherits * * @returns {Object} 一個類對象 */baidu.lang.createClass = /**@function*/function(constructor, options) {  options = options || {};  var superClass = options.superClass || baidu.lang.Class;  // 創建新類的真構造器函數  var fn = function(){    var me = this;    // 20101030 某類在添加該屬性控制時,guid將不在全局instances里控制    options.decontrolled && (me.__decontrolled = true);    // 繼承父類的構造器    superClass.apply(me, arguments);    // 全局配置    for (i in fn.options) me[i] = fn.options[i];    constructor.apply(me, arguments);    for (var i=0, reg=fn["/x06r"]; reg && i<reg.length; i++) {      reg[i].apply(me, arguments);    }  };  // [TODO delete 2013] 放置全局配置,這個全局配置可以直接寫到類里面  fn.options = options.options || {};  var C = function(){},    cp = constructor.prototype;  C.prototype = superClass.prototype;  // 繼承父類的原型(prototype)鏈  var fp = fn.prototype = new C();  // 繼承傳參進來的構造器的 prototype 不會丟  for (var i in cp) fp[i] = cp[i];  // 20111122 原className參數改名為type  var type = options.className || options.type;  typeof type == "string" && (fp.__type = type);  // 修正這種繼承方式帶來的 constructor 混亂的問題  fp.constructor = cp.constructor;  // 給類擴展出一個靜態方法,以代替 baidu.object.extend()  fn.extend = function(json){    for (var i in json) {      fn.prototype[i] = json[i];    }    return fn; // 這個靜態方法也返回類對象本身  };  return fn;};

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义县| 永修县| 澜沧| 文水县| 府谷县| 疏勒县| 曲水县| 吉安市| 安塞县| 江北区| 阿克陶县| 惠安县| 宁乡县| 凌云县| 雷州市| 嘉祥县| 龙井市| 颍上县| 肇州县| 三江| 上蔡县| 定襄县| 六枝特区| 太仆寺旗| 神木县| 桐庐县| 惠东县| 聂拉木县| 嘉禾县| 吉隆县| 区。| 伊宁市| 台南县| 时尚| 隆化县| 青神县| 黄山市| 天等县| 新竹市| 灵宝市| 四川省|