// ===========对象=============
// 对象是一组无序的相关属性和方法的集合。
// 所有的事物都是对象,ex 字符串 数组 函数等
//========创建对象的方法=======
//1.利用字面量创建对象
var obj = {
name:'李清照',
age: 18,
sayHi: function() {
console.log('hello');
}
}
//obj.sayHi();
//console.log(obj['name']);//李清照
//2.利用 new Object创建对象
var obj1 = new Object();
obj1.name = "朱淑真";
obj1.age = 20;
obj1['height'] = 166;
obj1.sayH = function(){
console.log('hello 朱淑真');
}
//console.log(obj1);
//obj1.sayH();
//3.利用构造函数创建对象
/* 用上述两种方法一次只能创建一个对象,
里面很多的属性和方法都是相同的
只能复制,因此可以利用函数的方法 重复这些相同的代码
把这个函数成为构造函数
构造函数 就是把对象里的一些相同的属性和方法抽象出来
封装到函数里面
function 构造函数名(){
this.属性 = 值;
this.方法 = function(){
}
}
a.构造函数名首字母要大写
b.不需要 return 就可以返回结果
c.调用的构造函数必须用new
d. 只要new Student()调用函数就创建一个对象 stu1 {}
*/
function Student(name,age,sex){
this.name = name;
this.age = age;
this.sex = sex;
this.learn = function(book){
console.log(book);
}
}
var stu1 = new Student('张三',18,'男');
var stu2 = new Student('李四',19,'男');
var stu3 = new Student('欧阳明日',16,'女');
//console.log(stu3.name);
//stu3.learn('数学');
//-------遍历对象(for in)------
// 语法:for(变量 in 对象){}
for(let k in obj){
// console.log(k);//属性名
console.log(obj[k]);//obj[k] 属性值
}