一、名词解释
1.基于对象(一切皆对象,以对象的概念来编程)
2.面向对象编程(Object Oriented Programming,OOP)
A.对象(JavaScript 中的所有事物都是对象)
B.对象的属性和行为
属性:用数据值来描述他的状态
行为:用来改变对象行为的方法
C.类
具有相同或相似的性质的对象的抽象就是类。对象的抽象,就是类,类的具体化(实例化)就叫做对象
二、创建对象
1.构造函数方法
function fun1 () { alert(1); } var obj=new fun1(); alert(typeof obj); 弹出:1 -> object
2.Object方法
var obj=new Object(); alert(typeof obj); 弹出: object
3.json方法(JavaScript Object Notation) 原生格式
var obj={}; alert(typeof obj);
三、如何添加属性和方法
如果属性的值是函数,我们叫做他是对象的方法,否则叫做是属性。调用对象的方法都会有一个返回值。
1.构造方法
A.声明的时候添加
function fc(){ //赋值 this.name="chen"; this.ac=function(){ alert(1); return 2; } } var fun=new fc(); alert(fun.ac()); //结果:1 -> 2
B.声明以后再添加
function fc(){ } var fun=new fc(); //赋值 fun.name="chen"; fun.ac=function(){ alert(1); return 2; } alert(fun.ac()); //结果:1 -> 2
2.Object方法
A.声明的时候添加
var fun=new Object(); function Object () { //赋值 this.ac=function(){ alert(1); return 2; } } alert(fun.ac());
B.声明后再添加
var fun=new Object(); //赋值 fun.ac=function(){ alert(1); return 2; } alert(fun.ac());
3.json方法
A.声明的时候添加
var obj={name:'chen',red:function(){ alert(1);return 2; }}; alert(obj.red());
B.声明以后再添加
var obj={}; //赋值 obj.name='chen'; obj.red=function (){ alert(1); return 2; } alert(obj.red());
注意:最后一个添加的属性或方法不能有逗号(,);否则IE7,IE6下报错
var obj={ name:'chen', red:function(){ alert(1);return 2; }, }; alert(obj.red());
四、访问对象的属性和方法
引用值.属性
引用值.方法();
var obj={}; obj.name='chen'; obj.red=function (){ alert(1); return 2; } alert(obj.name); alert(obj.red());
五、如何销毁对象(对象=null;)
javascript自己的垃圾回收机制,就是在对象没有引用的时候释放内存(销毁);
var obj={name:'chen',red:function(){ alert(1);return 2; }}; obj=null; alert(obj.red()); //会报错
六、如何删除对象的属性(delete)
var obj={name:'chen',red:function(){ alert(1);return 2; }}; delete obj.name; alert(obj.name); //undefined