// public
this.name = n;
// priv " /> 国精品一区二区,一本一道久久a久久,国产高清视频一区三区

色尼玛亚洲综合影院,亚洲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 中實現私有屬性的寫類方式,轉載需保留來源!

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

主站蜘蛛池模板: 德惠市| 凌源市| 嘉荫县| 株洲县| 望江县| 双江| 雅安市| 福贡县| 遂平县| 白银市| 遂昌县| 布尔津县| 同江市| 五河县| 铜川市| 义乌市| 孝感市| 大新县| 安阳县| 长葛市| 扎赉特旗| 麻阳| 府谷县| 高淳县| 禄丰县| 江山市| 秦皇岛市| 凤台县| 千阳县| 东明县| 遂溪县| 晋中市| 涡阳县| 鸡西市| 瑞丽市| 上饶市| 安义县| 洪泽县| 积石山| 英德市| 专栏|