JavaScript对象学习笔记

1.利用对象字面量创建对象{}

var obj={
            uname: '张三疯',
            age: 18,
            sex: '男',
            sayHi:function(){
                console.log('hi');
            }
        }

(1)里面的属性或者方法采用键值对的形式 键 属性名 : 值 属性值
(2)多个属性或者方法中间用逗号隔开
(3)方法冒号后面跟的是一个匿名函数

2.使用对象
(1)调用对象的属性 采取 对象名.属性名 .理解为 的
    console.log(obj.uname);
(2)调用属性还有一种方法 对象名['属性名']
    console.log(obj['age']);
(3)调用对象的方法 对象名.方法名()  括号别忘
    obj.sayHi();
 

变量、属性、函数、方法的区别
1.变量和属性都是用来存储数据的
 变量 单独声明并赋值 使用的时候直接写变量名 单独存在
 属性 在对象里面的不需要生命 使用的时候必须是 对象.属性
2.函数和方法的相同点 都是实现某种功能 做某件事
 函数是单独声明 并且调用的时候 函数名() 单独存在的
 方法 在对象里面 调用的时候 对象.方法()

利用 new object 创建对象

 var obj = new Object();
 obj.uname= '张三疯';
 obj.age=18;
 obj.sayHi= function(){
 console.log('hi');
 }

(1)我们是利用 等号赋值的方法 添加对象的属性和方法
(2)每个属性和方法之间用 分号  结束

利用构造函数创建对象
为什么需要构造函数?  因为前面两种创建对象的方式一次只能创建一个对象
构造函数 就是把对象里面一些相同的属性和方法抽象出来封装到函数里面

构造函数的语法格式:
function 构造函数名(){
    this.属性 = 值;
    this.方法 = function(){}
}
new 构造函数名();
(1)构造函数名字首字母要大写
(2)构造函数不需要return就可以返回结果
(3)调用构造函数必须使用new
(4)我们只要new star() 调用函数就创建一个对象
(5)属性和方法前面都要加this

function Star(uname,age,sex){
	this.name=uname;
	this.age=age;
	this.sex=sex;
	this.sing=function(sang){
	console.log(sang);
	}
}
 var ldh=new Star('刘德华',18,'男');
console.log(ldh.name);
console.log(ldh['age']);
ldh.sing('冰雨');

new关键字执行过程
1.new构造函数可以在内存中创建了一个空的对象
2.this就会指向刚才创建的空对象
3.执行构造函数里面的代码 给这个空对象添加属性和方法
4.返回这个对象

//for in 遍历对象
var obj={
	name: 'lulu',
	age: 18,
	sex: '女'
	fn:function(){}
}
for(var k in obj){
	console.log(k); //k 遍历 输出 得到的是属性名
	console.log(obj[k]); //obj[k]得到的是属性值
}

猜你喜欢

转载自blog.csdn.net/Sweet951/article/details/123256004