javascript对象基础
一、名称解释
1.基于对象:一切皆对象,以对象的概念来编程
2.面向对象编程:
A.对象:就是人们要研究的任何事物,不仅能表示具体事物,还能表示抽象的规则,计划或事。
对象是属性的无序集合,每个属性可以存一个值(原始值、对象或函数)
B.对象的属性和行为(用来做什么或者能做什么)
属性:用数据值来描述它的状态。
行为:用来改变对象行为的方法。
C.类:具有相同或相似的性质的对象的抽象就是类。
对象的抽象就是类,类的具体化(实例化)就是对象。
二、创建对象
1.构造函数方法(模拟类的函数):
function f() {
}
var obj=new f();
document.write(typeof obj); //输出 object
2.Object方法(Object()是系统自带的构造方法,所以不用单独定义)
var obj=new Object();
document.write(typeof obj); //输出 object
3.json方法(javascript object notation-javascript原生格式)
var obj={};
document.write(typeof obj); //输出 object
三、添加属性和方法
如果属性的值是函数,我们叫它做方法,否则叫它做属性。
1.构造方法
A.声明的时候添加
function fun() {
this.name="Media";
this.store=function () {
return "冷藏";
}
}
var fridge=new fun();
B.声明以后添加
function fun() {
}
var obj=new fun();
obj.name="Lisa";
obj.color="white";
obj.look=function () {
return "看电影";
};
2.json方法
A.声明的时候添加
var obj={属性名1:属性值1,属性名2:属性值2,属性名3:属性值3,...};
var car={brand:"Audi",run:function () {
return "行驶";
}};
B.声明以后添加
var shampoo={};
shampoo.brand="舒肤佳";
shampoo.wash=function(){
return "洗澡";
};
document.write(shampoo.brand);
document.write(" ");
document.write(shampoo.wash());
四、访问对象的属性和方法
引用值.属性
引用值.属性()
function fun() {
}
var obj=new fun();
obj.name="Lisa";
obj.color="white";
obj.look=function () {
return "看电影";
};
document.write(obj.name);
document.write(" ");
document.write(obj.look());
输出 Lisa 看电影
function fun() {
this.name="Media";
this.store=function () {
return "冷藏";
}
}
var fridge=new fun();
document.write(fridge.name);
document.write(" ");
document.write(fridge.store());
输出 Media 冷藏
var car={brand:"Audi",run:function () {
return "行驶";
}};
document.write(car.brand);
document.write(" ");
document.write(car.run());
输出 Audi 行驶
var shampoo={};
shampoo.brand="舒肤佳";
shampoo.wash=function(){
return "洗澡";
};
document.write(shampoo.brand);
document.write(" ");
document.write(shampoo.wash());
输出 舒肤佳 洗澡
五、销毁对象
javascript自己的垃圾回收机制,就是在对象没有引用的时候释放内存(销毁)
可以用对象=null
进行销毁
var person={name:"Amy",sex:"woman",eat:function () {
return "吃货";
}};
document.write(person.name+" "+person.sex+" "+person.eat());
var person=null;
document.write(" ");
document.write(person);
输出 Amy woman 吃货 null
六、删除对象的属性
var person={name:"Amy",sex:"woman",eat:function () {
return "吃货";
}};
document.write(person.sex+" ");
delete person.sex;
document.write(person.sex);
输出 woman undefined
网友评论