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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:22:51
字體:
來源:轉載
供稿:網友

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

前面一篇//m.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數學運算用法總結》

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 通许县| 新竹市| 正定县| 文化| 白银市| 兰溪市| 察哈| 武邑县| 黑龙江省| 普安县| 台北县| 仙居县| 明水县| 兴安盟| 桐乡市| 盐池县| 夏邑县| 苏尼特右旗| 西昌市| 临沭县| 石柱| 龙泉市| 江门市| 佛教| 达日县| 张掖市| 陈巴尔虎旗| 增城市| 麻江县| 上犹县| 万年县| 铜陵市| 恩平市| 县级市| 冕宁县| 苏州市| 凤凰县| 香格里拉县| 宝清县| 同江市| 永康市|