java js 对应
public class className {
public String name;
public static int id=1321;
public className(String name) {
this.name = name;
}
public void showName() {
System.out.println(name);
}
}
function className(name) {
this.name = name;
className.id=1321;
showName = function() {
alert(name);
};
}
js 调用为
var cn = new className("cname");
cn.showName();
在js中静态变量id的调用为 className.id,
写成cn.id 是错的,这点和java不同。
js中变量的添加除了在构造函数里面外,在别的地方也可以随时添加:
className.prototype.name2=123; 给className添加成员变量name2;
className.prototype.mothed2=function(){};给className添加方法
cn.name3=456; 给cn这一个对象添加成员变量name3,别的className对象是没有name3的;
方法也一样;
添加方法和对象类型的成员变量时,写在构造函数内和外是有区别的:
className.prototype.fmothed=function(){alert(this.name);};
className.prototype.arr=new Array("1","2");
表示className的所有对象 fmothed 和 arr 都共用这一个方法和数组,
写在构造函数内是每一个对象都会有一个自己的方法和数组:
var c1 = new className();
c1.arr.push("3");
var c2 = new className();
alert(c2.arr);// 1,2,3