JS-对象

对象是一个具体的事物。

在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。

对象由属性方法组成。

属性:事物的特征(名词)

方法:事物的行为(动词)

创建对象(object)的三种方式:1.利用字面量创建对象

var obj={
    name:XY,
    age:21,
    sex='男',
    sayHi:function() {
        console.log('帅呀');//匿名函数
  }
}
//利用字面量创建对象
//var obj = {};
var dog = {
	name: '可可',
	type: '阿拉斯加犬',
	age: 5,
	color: 'red',
	bark: function() {
		console.log('一技能汪汪汪');
    },
    showFilm: function() {
		console.log('二技能演电影');
	}
}
dog.bark();

调用对象属性两种方法:①对象名.属性名  例:obj.name;    ②对象名['属性名']   例:obj['name'];

调用对象方法:对象.方法名()   例:obj.sayHi();

变量属性函数方法的区别

变量和属性相同于:都是用来存储数据的。不同于:变量单独声明并赋值,使用时直接写变量名,单独存在。属性在对象里面的不需要声明,使用的时候必须是对象名.属性名或对象名['属性名']。

函数和方法相同于:都是实现某种功能,做某件事。 不同于:函数是单独声明并调用的。方法在对象里面调用的时候  对象.方法()。

2.利用new Object创建对象

//利用new Object()创建对象
var obj = new Object();
	obj.name = '鸣人';
	obj.sex = '男';
	obj.age = 19;
	obj.skill = function() {
		console.log('影分身术');
	}
obj.skill();

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

            //构造函数创建对象
			//例如我们需要创建四大天王的对象 相同的属性:名字 年龄 性别 相同的方法:唱歌
			function Star(uname, sex, age) {
				this.name = uname;
				this.sex = sex;
				this.age = age;
				this.sing = function(song) {
					console.log(song);
				}
			}
			var ldh = new Star('刘德华', '男', 50); //调用函数返回的是一个对象
			console.log(ldh);
			console.log(ldh.name);
			ldh.sing('冰雨');

			var yyqx = new Star('易烊千玺', '男', 20);
			console.log(yyqx);
			console.log(yyqx.sex);
			yyqx.sing('离骚');
			//1.构造函数名字首字母要大写
			//2.构造函数不需要return就可以返回结果
			//3.调用构造函数必须使用new
			//4.只要new Star()调用函数就创建一个对象
			//5.属性方法前面必须加this

			//来练练撒,利用构造函数创建两个英雄对象
			function Hero(name, type, blood) {
				this.name = name;
				this.type = type;
				this.blood = blood;
				this.attack = function(apc) {
					console.log(apc);
				}
			}
			var fhh = new Hero('凤凰火', '肉型', 500);
			console.log(fhh);
			fhh.attack('远程');
			var qxd = new Hero('青行灯', '脆了吧唧', 800);
			console.log(qxd);
			qxd.attack('远程');

			//遍历对象
			var obj = {
				name: 'XY',
				age: 23,
				sex: '男',
				sayHi: function() {
					console.log('XY好帅');
				}
			}
			for (var k in obj) {
				console.log(k); //k 变量 输出得到的是属性名
				console.log(obj[k]); //obj[k]得到是属性值
			}
			//使用for in 里面的变量我们常用k或者key

遍历对象属性:for···in···用于数组或对象的属性进行循环操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值