Javascript创建对象的三种方式

对象是一种复合数据类型,在对象中可以保存多个不同数据类型的属性

对象的分类

  1. 内建对象
    由ES标准中定义的对象,在任何的ES的实现中都可以使用。如:Math String Number Boolean Function Object…
  2. 宿主对象
    由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象。如 BOM DOM
  3. 自定义对象
    由开发人员自己创建的对象

内容补充:
1、变量和属性、函数和方法小结
1)变量和属性(都是用来存储数据)
2)函数和方法(都是实现某种功能,做某件事)

  • 变量:单独声明并赋值,使用时直接写变量名,单独存在
  • 属性:对象里面的变量称为属性,无需声明,用来描述该对象特征, 使用须是:对象.属性
  • 函数:单独存在,调用时"函数名()"
  • 方法:在对象里面,调用时 “对象.方法()”

栗子:

var num=10;//num是一个变量
	var obj={
		age:'18'//age是一个属性
		//这是一个方法
		fun:function(){
		}
	}
	  //这是一个函数
	function fun(){	
		}

JS创建对象的三种方式

  1. 利用对象字面量创建对象
//利用对象字面量创建对象	
	var obj={
		name:'张三',//以键值对的形式存值
		age:'age',
		sex:'男',
		sayHi:function(){
			console.log('hi');
	}
}
	console.log(obj.name);
	console.log(obj['sex']);
	obj.sayHi();
  1. 利用new Object创建对象
	var obj=new Object();//创建一个空的对象
	obj.name='张三';
	obj.age='18';
	obj.sex='男';
	obj.sayHi=function(){
		console.log('hi');
	}
	console.log(obj.name);
	console.log(obj['sex']);
	obj.sayHi();

3.利用构造函数创建对象

//语法格式:
function 构造函数名(){
	this.属性=;
	this.方法=function(){
	}
}
   new 构造函数();

提醒:

1、构造函数名要大写
2、不需要return,就可以返回结果
3、调用函数时,必须使用new
4、只要new Star 调用函数就创建一个对象xm{}
5、属性和方法前面必须添加this

	function Star(name,age,sex){
	    //相同属性:姓名、年龄、性别
		this.name=name;
		this.age=age;
		this.sex=sex;
		//相同的方法
		this.sing=function(song){
			console.log(song);
		}
	}
	var xm=new Star('小明',18,'男');//调用函数返回的是一个对象
	console.log(xm.name);
	console.log(xm.sex);
	xm.sing('听不到');

	var lihua=new Star('李华',19,'男');
	console.log(lh.name);
	console.log(lh.sex);
	lh.sing('');

补充:
1、构造函数和对象

构造函数和对象
1、构造函数泛指某一大类,例如:人
2、对象特指一个具体的事物,例如:小明
3、利用构造函数创建对象的过程也称为对象的实例化

2、new在执行中的操作

1、在内存中创建了一个新的空对象
2、让this指向新的对象
3、执行构造函数里的代码,给这个空对象添加属性和方法
4、返回这个对象(所以构造函数不需要return)

3、遍历对象

//语法格式:
for(变量 in 对象){
	//循环遍历对象的属性时,所有属性都将被访问
	 }

栗子:

	var obj={
		name:'金金',
		age:'18',
		sex:'男'
	}
	for(var k in obj){
		console.log(k);//k变量输出得到的是属性名
		console.log(obj[k]);//obj[k]得到是属性值
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值