js的对象分为内置对象和自定义对象,内置对象:arr 数组、date 时间、string 字符串、math函数……
自定义对象
let 对象名 = {
属性1:'属性值',
属性2:'属性值',
方法名:function(形参){
执行语句;
}
这样我们就声明了一个对象,他有两个属性和一个函数,需要注意的是,属性与属性值是冒号关系;属性与属性之间是逗号关系。
当我们声明好对象后,如何去使用对象里面的属性和方法呢?
对象名.属性1
对象名.方法名(实参)
如何给对象添加新的属性?
对象名.属性3 = 属性值;
如何给对象删除某个属性?
delete 对象名.属性1;
如何将对象属性名打印?
<script>
let obj={
color:'white',
name:'小黄',
car:'出租车'
}
for(var key in obj){
document.write(obj[key])
}
</script>
代码分析:for in循环可以遍历对象属性,obj[key]的类型是字符串。当我们要使用对象obj的属性时,应该写做obj[key],与数组的使用一样。 下面我们针对自定义对象来做一个小练习:新建一个自定义对象“student”,属性有姓名,学号,身高,分别有对应的属性值,需要新增一个体重属性,然后删除学号属性:
<script>
let student = {
name:'小明',
stuNo:'01',
height:'160'
}
student.weight = '120';
delete student.stuNo;
console.log(student);
</script>
代码分析:先定义对象,新增和删除操作都是针对定义后的对象,使用console.log可以在控制台查看实现效果。
再来一个小练习:定义一个对象car,属性有颜色,价格,车型,写一个方法在对象中输出广告语“便宜又实惠”
<script>
let car = {
color:'white',
price:'888',
type:'super',
nice:function(str){
document.write(str);
}
}
document.write(car.price);
car.nice('便宜又实惠!');
</script>
代码分析:方法使用和函数一样,都是需要加上括号,需要和属性的使用方式区别。