javascript对象的创建

javascript对象的知识点

  1. 可以通过字面量的方式创建对象
	var obj={
	name:'小红",
	age:18
	};
	

 
通过类似于josn键值对这种方式创建的对象不够灵活,创建对象的时候一开始就把对象的行为给写死了,如果要创建多个不同的对象,又要重新

  1. 通过new关键字创建对象
	var obj=new Object();
	obj.name="小红";
	obj.age=18

这种创建对象的方式有以下几个问题:

  • 每次创建新的对象都需要重新创建对象的属性和方法
  • 创建的对象都是继承与object,这样我们创建不同的对象时,实例对象 instanceof Object都将返回true,没什么区别
  • 创建对象的属性和方法都暴露在外面,没有封装好不安全(尽管js没有private,protected,default这些修饰权限)

3.通过工厂方式创造对象

	var Factory=function(name,age){
				var obj={};
				obj.name=name;
				obj.age=age;
				obj.say=function(){
					console.log("我的姓名是:"+this.name+",我的年龄是:"+this.age);
				}
				return obj;
			}
			myfactory=Factory("新时光我好",20).say();

这种方式创建的对象可以通过传入不同的参数,创建不同的对象但是有一个缺点如果创建的是不同的对象比如创建汽车对象和飞机对象,调用instanceof,因为都继承与Object对象,所以返回true,但实际上这两个对象怎么可能是同一类的对象
4.构造函数式创建对象

function Person(name,age){
			this.name=name;
			this.age=age;
			this.say=function(){
				console.log("我的姓名是:"+this.name+",我的年龄是:"+this.age);
			}
		}
		student=new Person("新时光我好",20);
		student.say();

使用这种方式创建的对象,myperson instanceof Person这样就可以分辨出来谁是谁创建的对象了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值