创建对象的三种方式:
<!DOCTYPE html>
<html>
<head>
<title>js创建对象的三种方式及调用方式</title>
<meta charset="utf-8">
<script>
//# 1.直接使用字面量创建对象
var obj = {
uname:'张三丰',
age:108,
sex:'男',
sayHi:function(){
console.log('hello');
}
}
console.log(obj.uname);
console.log(obj['uname']);
obj.sayHi();
//# 2.使用new Object()来创建一个对象
var obj2 = new Object();
obj2.uname='路飞';
obj2.age='18';
obj2.saiHi= function () {
console.log('hello');
}
console.log(obj2.uname);
console.log(obj2['uname']);
obj2.saiHi();
//# 3.使用构造函数批量生产对象
//构造函数名要去大写,以区分普通函数
//构造函数不需要写return,就可以返回一个对象
//this表示当前对象
function Star(uname,age,sex){
this.uname=uname;
this.age=age;
this.sex=sex;
this.sayHi=function(uname){
console.log('你好,我是'+this.uname);
}
}
var obj3 = new Star('索隆',18,'男'); //通过 new 关键词调用构造器函数可以创建相同类型的对象:
var obj4 = new Star('艾斯', 22, '男');
console.log(obj3.uname);
console.log(obj4['uname']);
obj4.sayHi();
</script>
</head>
<body>
</body>
因为对象中的属性是无须的,所以要想遍历对象中的属性和方法,可以通过forin循环:
//# 使用for in循环来遍历对象,可以遍历到里面的方法
for (var key in obj4) {
console.log(key); //key变量 属性名
console.log(obj4[key]); //obj4[key] 属性值
}
最后,有几个注意的地方
1.构造函数名要去大写,以区分普通函数
2.构造函数不需要写return,就可以返回一个对象
================================================================================================================================================== ==================================================================================================================================================
==================================================================================================================================================