【1,javaScript创建对象的几种方式】
- new
- function 既是一个函数,也是一个对象,同时还是构造函数
- json:json(JavaScript Object Notation, JS 对象标记)
是一种轻量级的数据交换格式
var a = {"name":"二狗子","age":12}; //json对象
【2,prototype:原型链】
私有属性方法——定义在function中的
function Student(){
var name; //私有变量
var getName = function(){//私有方法
alert(this.name);
}
}
静态的属性和方法–动态添加的属性和方法
function Student(){}
//静态属性
Student.name = "老王1";
Student.getName = function(){
alert(this.name);
}
alert(Student.name);//老王1
var s = new Student();
alert(s.name);//undefined
实例属性和方法——通过this定义在function的属性和方法
function Student(){
this.name = "老王2";
this.getName= function(){
alert(this.name);
}
}
alert(Student.name);//undefined
var s = new Student();
alert(s.name);//老王2
s.getName();//老王2
原型链方法—–定义在prototype原型上的方法
function Student(){
this.name = "老王3";//实例属性
}
//原型链方法----被所有对象共享
Student.prototype.getName= function(){
alert(this.name);
}
var s = new Student();
s.getName();//原型链方法
总结:所有实例都有的属性和方法定义原型方法
如果要求每一个实例属性和方法不同就定义实例方法。