// public
this.name = n;
// priv " /> 国产精品男女,av有码在线观看,亚洲男人av

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JavaScript 中實現私有屬性的寫類方式

  之前討論過JavaScript中的寫類方式。但沒有討論私有的實現。這篇看下。

  我們知道JS中私有屬性的實現本質就是 var + closure。如下:

function Person(n, a){
// public
this.name = n;
// private
var age = a;
this.getName = function(){
return this.name;
}
this.getAge = function(){
return age;
}
}

  上一頁寫了個工具函數$class,這篇再完善以下。實現以下功能:

  1,繼承

  2,子類繼承父類時,不繼承父類的私有屬性

/**
* @param {String} className
* @param {String/Function} superCls
* @param {Function} classImp
*/
function $class(className, superCls, classImp){
if(superCls === '') superCls = Object;
function clazz(){
if(typeof this.init == "function"){
this.init.apply(this, arguments);
}
}
var p = clazz.prototype = new superCls();
var _super = superCls.prototype;
window[className]
= clazz;
classImp.apply(p, [_super]);
}

it知識庫JavaScript 中實現私有屬性的寫類方式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 方正县| 治多县| 鹤壁市| 青州市| 甘洛县| 乌拉特后旗| 府谷县| 苍山县| 通州市| 铁力市| 镇巴县| 浦北县| 工布江达县| 伊吾县| 菏泽市| 衡水市| 定兴县| 中卫市| 治县。| 嘉义市| 星座| 广灵县| 隆林| 璧山县| 文安县| 博兴县| 班戈县| 黔东| 连江县| 乐昌市| 禄丰县| 庆城县| 安远县| 康马县| 台东市| 六枝特区| 凤城市| 图们市| 大余县| 黄骅市| 高州市|