JavaScript对象
JavaScript对象是基本数据类型之一,复合型数据;
JavaScript中几乎所有事物都是作对象的;
JavaScript的对象是拥有属性和方法的数据;
JavaScript中的对象可以简单理解成“名称:值”对(name:value)。
JavaScript中的对象分类
1、内建对象:
数据分装对象(object、object.prototype、Number、Boolean、String、Array、Function);
工具类对象(Math、Date、RegExp);
错误对象。
2、自定义对象:
通过var obj={},对象字面量(object literal)法;
<script>
var obj1={x:1,y:2,z:3};
var obj2={
'x':1,
'y':2,
username:'king',
'for':'javascript关键字必须放到引号之间',
test:null,
person:{
username:'guest',
age:23,
addr:'北京'
}
};
</script>
通过var obj=new Object()创建;
<script>
//通过var obj=new Object()创建对象
var obj=new Object(); //创建一个空对象{}
var arr=new Array();
var date=new Date();
var reg=new RegExp('js'); //创建正则对象
</script>
通过构造函数创建对象:
<script>
function Test(x,y){
this.a=x;
this.b=y;
}
var obj=new Test(5,8);
//检测一个对象是否由某个指定的构造器函数创建的
alert(obj instanceof Test);
访问对象的属性和方法
查询属性
var person={
username:"king",
age:12,
addr:"北京",
sex:'男'
};
//查询属性
console.log("用户名:"+person.username+person.addr)'
console.log("地址:"+person['addr']+'\n'+"性别:"+person['sex']);
//如果属性不确定需要使用[]
var key='username';
//输出undefined
console.log(person.key);
//输出king
console.log(person[key]);
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
}
var person1=new Person('king',33,'男');
console.log(person1.name+'\n'+person1['sex']);
添加属性
<script>
var obj=[];
obj.username='king';
obj.age=12;
obj.addr='北京';
obj['test']='测试添加属性';
console.log(obj.username+obj.addr+obj['test']);
</script>
修改属性
//修改属性
obj.username='queen';
console.log('修改后的名字:'+obj.username);
删除属性
//通过delete删除指定属性
delete obj.test;
console.log(obj['test']);
delete obj.age;
console.log(obj.age);
遍历属性
//通过for in遍历属性
var obj={
x:1,
y:2,
test:'测试字符串'
};
for(var p in obj){
console.log(p+'\n');
}