1.简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。
2.创建对象三种方法:
- 利用字面量创建对象{};
var obj={}/* 创建了个空对象 */
var obj = {
uname:'nima',
age : 19,
sex : '男',
sayhai9 :function name(params) {
console.log('hi');
}
}
2.创建对象第二种方法:new object创建
var obj = new Object();
obj.uname = 'nima';
obj.age = 9;
obj.sex = '男';
obj.sayhi = function () {
console.log('hahahah ');
}
1.利用等号赋值方法,添加对象和方法;
2.每个属性和方法之间都有分号结束
3.创建对象第三种方法:利用构建函数创建对象
因为前面的使用字面量和new object创建方法一次只能创建一个对象;但是创建对象,里面有很多属性和方法是相同的,我们可以利用函数的方法重复这些代码,所以称之为构建函数;因为这里面存放的不是普通代而是对象;
function 构造函数名() {
this.属性 = 值;
this.方法 = function() {}
}
// 调用
new 构造函数名();
function Star(uname, age, sex){
this.uname=uname;
this.age=age;
this.sex=sex;
this.sing = function (sang) {
console.log(sang);
}
}
var ldh = new Star('刘德华',18,'男');
ldh.sing('冰雨');
console.log(typeof ldh)/* 返回的类似是object */
console.log(ldh.age);
console.log(ldh['sex']);
注意:
1.构造函数的函数名第一个字母大写,方便区分;
2.构造函数没有返回值return
3.调用对象必须使用new
4.我们只要new Star()调用函数就创造了一个对象
5.属性和方法必须添加this;
小结:构造函数和对象
构造函数:泛指某一大类(类似于c、java里面的类)eg:明星
对象:一个具体事物 eg:刘德华
关系:利用构造函数创建对象的过程称之为对象的实例化;
new在执行时候干的四件事情:
1.在内存中创建一个新的空对象
2.让this指向这个空对象
3.执行构造函数代码,给空对象添加属性和方法
4.返回这个新对象(所以不需要return)