对象的定义为一组属性的无序集合。可以把对象想象成一张散列表,其中的内容就是一组名/值对,值可以是数据或者函数。
一.创建对象的三种方式:
1.利用new Object 创建对象。
案例
<script>
var computer = new Object();
computer.color = '红色';
computer.weight = '2.5kg';
computer.brand = 'dell';
computer.model = '1450';
computer.fun = function() {
console.log('打游戏');
}
console.log(computer.color);
computer.fun();
</script>
运行截图:
2.利用对象字面量创建对象(更为流行的方式)
案例:
<script>
var btn = {
width: 50,//注意是用逗号隔开
height: 100,
backgroucdcolor: '蓝色',
click () {
console.log('点击');
}
}
console.log(btn.width);
btn.click();
</script>
运行截图:
3.构造函数创建对象
案例
<script>
function Car(weight,color,brand) {//注意Car的首字母大写,按照惯例构造函数名称的首字母都是要大写
this.weihgt = weight;//属性和方法都是直接赋值给了this
this.color = color;
this.brand = brand;
this.fn = function(fun) {
console.log(fun);//注意没有return
}
}
var car1 = new Car('5000kg','bule','HONDA');
console.log(car1.brand);
</script>
运行截图:
注意:变量 属性 函数 方法 的区别
1) 变量和属性的相同点:他们都是用来保存数据的。
变量和属性的不同点 :变量是单独是声明并赋值。属性在对象里面不需要声明,而在使用时必须是 对象.属性。
2)函数和方法的相同点:都是实现某种功能。
函数和方法的不同点:函数是单独声明并调用的,函数名()。而方法在对象里面,调用的时候 对象.方法()。
遍历对象属性
for...in...语句可以对数组和对象的属性进行循环操作。方法也可以遍历 ,不推荐。
案例
<script>
var obj = {
uname:'张三',
sex: '男',
age: 99
}
// console.log(obj.uname);
// console.log(obj.sex);
// console.log(obj.age);
function fn1() {
for (let k in obj) { //k是工具字变量 一般用k key 。你可以任意取
console.log(k);//k是变量 得到的会是属性名
console.log(obj[k]);//obj[k] 得到的是里面的属性值
}
}
fn1();
</script>
运行截图: