有人说javascript 中,其实不存在类,所谓的封装不能用class来归类。我不去扣字眼,没有意思!
假设javascript中是存在类的吧,类中有私有 private、公有public 之分(javascript中没有办法做protect等),也有静态static和普通方法,属性之分。
我以前没有用javascript写过所谓的static类的方法,搜了一下,做个例子出来:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
<script language="javascript" type="text/javascript">
function JObj(){
this.author = "xling";
this.aa = function(pParm){
alert(pParm);
}
var bb = function(pParm){
alert(pParm);
}
}
JObj.cc = function(pParm){
alert(pParm);
}
JObj.prototype.dd = function(pParm){
alert(pParm);
}
document.write("<br />===========以下是Class中的,即所谓的静态,不能由实例调用,只能用类名调用================<br />");
for(var o in JObj){
document.write(o," = ",eval("JObj." + o),"<br />");
}
document.write("<br />===========以下是实例中的,只能用实例来调用================<br />");
var obj = new JObj();
for(var o in obj)
document.write(o," = ",eval("obj." + o),"<br />");
</script>
from:http://xling.blueidea.com/archives/2007/5020.shtml