js公有,私有,静态属性和方法的区别

JavaScript015

js公有,私有,静态属性和方法的区别,第1张

私有属性:构造函数中定义为实例属性的变量

公有属性:构造函数中定义的实例属性

私有静态属性:使用匿名函数返回构造函数而形成的闭包中定义的变量

公有静态属性:在类上定义的类属性

特权方法:构造函数中定义的访问私有属性和方法的实例方法

function fun(){

var _this = this

//如果函数是用var定义的私有函数,如下

var func1 = function(){ }

//那么类中其他函数都可以直接通过func1()的形式调用

//如果函数是共有的,即用this定义,如下

this.func2 = function(){ }

/*则需要得到func对像的引用,即fun中的this(注意:是fun中的).

然而到了调用者函数(如下的caller)内部时,this指的是caller函数而不再是fun,所以可以考虑在fun中定义一个私有变量 var _this = this 来保证指向的是fun

*/

//例子:在this.caller中调用类中的其他函数

this.caller = function(){

func1()//私有函数直接调用

_this.func2()//公共函数,需要fun的this的指向

}

}

//希望能帮到你