我想在JavaScript类中定义public和private属性,
在这里,您可以看到我属性的c#格式。
我的问题是“如何使用JavaScript编写这些属性”:
public class MyMath
{
public static double Pi
{
get {return 3.14;}
}
public static int R {get; set;}
private int MyPrivateProp1 {get; set;}
public double MyCalcMethod()
{
return MyPrivateProp1 * R;
}
}
我想像这样使用此类:
var x = MyMath.Pi * MyMath.R;
在此先感谢您的时间。
最佳答案
您可以创建一个self-executing
函数来创建您的对象,这将允许您立即从Javascript调用变量和方法,而不必创建该对象的实例。
示例:JSFiddle
var myMath = (function MyMath() {
this.Pi = 3.14;
this.R = 0;
var MyPrivateProp1 = 15;
this.MyCalcMethod = function() {
return R * MyPrivateProp1;
};
return this;
})();
myMath.R = 5;
var x = myMath.Pi * myMath.R;
console.log(myMath.Pi);
console.log(myMath.R);
console.log(myMath.MyPrivateProp1); //This is returned as Undefined because it is a Private Variable to the Object.
console.log(myMath.MyCalcMethod());
console.log(x);
注意函数末尾的
return this
,这是确保将对象传递给myMath
变量所必需的。