javascript面向对象 公有成员,私有成员,静态成员,特权方法的理解
首先简单介绍下javascript的对象:在javascript中对象的种类,Object,Function,还有就是内置对象如String,Array,Date等,在
javascript中内置对象都是继承自Object类。
对象的创建方式
var obj = new Object(); //传统的对象 内置对象也是这么创建的 var obj = {}; //无类型对象var add = new Function("a","b","return a+b");function add(a,b){ return a+b;}//构造函数function myConstructor(message){ //公有属性this.myMessage = message; //私有属性var separator = '_';var myOwner = this;//构造函数内私有方法function alertMessage(){alert(myOwner.myMessage);}alertMessage();//特权方法 可以访问构造函数里的私有变量this.appendToMessage = function(string){ this.myMessage += separator + string;alertMessage();} }//公有方法myConstructor.prototype.clearMessage = function(str){ this.myMessage = "";}//静态成员myConstructor.name = "jeff";//静态方法myConstructor.alertName = function (){ alert(this.name)}var obj = new myConstructor("hello !");obj.appendToMessage("kate");//创建子类function sub(message){ //继承 myConstructor myConstructor.call(this,message);}var subObj = new sub("jame");alert(subObj.myMessage);subObj.appendToMessage(" hello");alert(myConstructor.name); //静态成员myConstructor.alertName(); //静态方法