JS中的对象可以简单的理解为"名称:值"对(name:value);
目录
1创建对象:
(1).通过对象字面量的形式创建对象
var obj={};//没有任何属性的对象
//alert(typeof obj);//object对象
var obj1={x:1,y:2,z:3};//属性名:属性值
var obj2={
'x':2,
'y':2,
username:'king',
'for':'JavaScript关键字必需放到引号之间 ',
'first-name':'queen',
married:true,
test:null,
test1:undefined,
salary:12.3,
persom:{
username:'king',
age:12,
addr:'北京',
}
};
(2) 通过new Object()创建对象
var obj3=new Object();//创建了一个空对象
var arr=new Array();//空数组,[]
var date=new Date();//日期
var reg=new RegExp()//创建正则对象
(3)通过构造函数的形式创建对象
function Test(){};
var obj4=new Test();
function Test1(num1,num2){
this.n1=num1;
this.n2=num2;
}
var obj5=new Test1(5,6);
// alert(typeof obj5);
// alert(obj5 instanceof Test1);//true
(4)通过Object.create()创建对象
var obj6=Object.create(x:1);
var obj7=Object.create(null);
//创建一个普通的空对象
var obj8=Object.create(Object.prototype);
2.获取对象的属性.
可以用对象.属性名的形式获取到对象值,如果属性名不确定,就要使用[]来获取属性值
<script type="text/javascript">
var person={
username:'king',
age:12,
salary:123.45,
addr:'北京',
sex:'男'
};
console.log('用户名为:'+person.username+'\n'+'性别:'+person.sex);
console.log('薪水:'+person['salary']+'\n'+'地址:'+person["addr"]);
var key='username';
console.log(person.key);//undefined
console.log(person[key]);//king
</script>
3.添加属性
var obj={};//空对象
obj.username='king';
obj.age=12;
obj.addr='China';
obj['test']='this is a test';
console.log(obj.username+'\n'+obj.age+'\n'+obj.addr+'\n'+obj['test']);
4.修改指定属性
obj.username='queen';
obj['test']='麦子学院';
console.log('修改之后的名字:'+obj.username);
console.log(obj['test']);
5.通过delete删除指定属性
delete obj.test;
//console.log(obj.test)
6.通过for/in遍历属性
var obj1={
x:1,
y:2,
test:'this is test',
edu:'khkhkh'
};
for(var p in obj1){
console.log(p+'\n');
}
7.方法中有对象
//对象中有方法
var obj2={
username:'king',
age:12,
addr:'北京',
sayHi:function(){
return 'say hi~';
},
info:function(){
return '用户名:'+this.username+'\n'+'年龄: '+this.age+'\n地址: '+this.addr;
}
}
console.log(obj2.sayHi());
console.log(obj2.info());
console.log(obj2.info);//如果不带括号返回的是字符串