写给C#程序员的javascript说明: 各类型变量和prototype

时间:2022-01-09 09:17:27

在javascript中存在类似的私有变量 公有变量和静态变量

私有:

var AA=function(){
var aa="im private";
};

私有变量通过闭包访问。

公有:

var AA=function(){
this.aa="im public";
};

公有变量通过:(new AA()).aa 访问

静态:

var AA=function(){};
AA.aa="im static";

静态变量通过AA.aa 访问

对于变量可以通过prototype 扩展或者继承

比如继承:

var BB=function(){
this.bb="im from BB"; };
var AA=function(){
this.aa="im public";
};
AA.prototype=new BB();
//node.js
console.log((new AA()).bb);

以上输出im form BB;

值得一提的是一个对象正常的公有变量会覆盖prototype定义的公有变量。