首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

- JS 中实现静态属性-该如何解决

2012-02-20 
---------------- JS 中实现静态属性-------------------通常情况下 ,大家都用 prototype 为类定义非静态

---------------- JS 中实现静态属性-------------------

通常情况下 ,大家都用 prototype 为类定义非静态的属性

那么要为类定义一个静态的属性

如题,我想在一个自定义类中实现静态

[解决办法]


var s = function(){
this.a = function(){
alert('aa');
};
var b = function(){
alert('bb');
};
};

var t = new s();
s.a();
s.b();


[解决办法]
function xxx()
{}

xxx.xx="xxx";//定义静态属性
[解决办法]
<script type="text/javascript">
var xx = new Function();
xx.prototype.static = {
version : "1.1.1"
};

var a = new xx;
var b = new xx;
a.static.version = "2.2.2";
alert(b.static.version);
</script>
[解决办法]


s.a(); 
s.b(); 

---

sorry
应该是 t.a();t.b();

调用一下就知道了,在类里面用this.property||method 可以实现属性和方法私有

针对你提出的问题:
可以直接 var d = {
a:function(){
//
};
b:'bb';
};

这样可直接去访问: d.a();d.b();
不再需要实例化

[解决办法]

JScript code
function Test(){    this.name="test";}Test.sName = "sName";var t = new Test();alert(t.name);alert(t.sName);alert(Test.sName);
[解决办法]
到... new 就不是静态了,,,
你直接用 Object 就行了.............

[解决办法]
这样就可以了
<script language="javascript">
function uclass(){
}
//静态属性
uclass.Name="sample";
//静态方法
uclass.test=function(){
 alert(1);
}
alert(uclass.Name)
</script>
[解决办法]
属性器嘛...啥静态属性...
[解决办法]
FF里有__defineSetter__
IE里实现不了,最多只可以用toString模拟__defineGetter__
[解决办法]
静态属性就是不用prototype直接加到对象上。

/* 这是一个实例方法 */
String.prototype.instanceMethod = function() {}

/* 这是一个静态方法 */
String.staticMethod = function() {}

热点排行
Bad Request.