js学习第六篇:javaScript对象

十六、对象

1.什么是对象?

对象是一个具体的事物,实际生活的所有万物皆可对象。

  • 本质:无序的相关属性和方法的集合
    • 属性:事物的特征(名词)
    • 方法:事务的行为(动词)1677756794325

1677756794325

2.为什么需要?

保存一个值,可以用变量

保存多个值,可以用数组

保存一个人/物的完整信息,可以用对象的方式

1677756965386

3.创建对象的方式
(1)利用字面量创建对象
对象字面量:花括号{ }
①创建空对象
var obj = {};
②创建对象并赋属性
  • 属性与方法采取键值对的方式【属性名 : 值】
  • 多个属性方法利用逗号【,】隔开
  • 方法冒号后是匿名函数
  • 对象最后以分号【;】结束
 var obj = {
	 uname : '张三疯',
 	 age : 18,
 	 sex : '男',
 	//定义方法
 	 sayHi:function(){
        //方法体    
 	}   
}
(2)利用new Object创建对象
  • 利用 等号(=)赋值的方法,添加对象的属性和方法
  • 属性和方法都采用追加方式
①创建对象
var obj = new Object();
②创建属性--追加方式
obj.name = '张三疯';
obj.age = 18;
obj.sex = '男';
③创建方法--类似函数表达式(没有var)
obj.sayHi = function() {
   //方法体
}
④示例
 var person = new Object();
 person.name = '鸣人';
 person.age = 19;
 person.sex = '男';
 person.skill = function(){
     alert('影分身之术');
 }
(3)利用构造函数创建对象

①先创建构造函数--->再创建对象

//1.声明并赋值构造函数
function 构造函数名(形参1,形参2){
   this.属性 = 值;
   this.方法 =function(对象中方法的形参1,对象中方法的形参2){
       //方法体
   }
}
//2.调用函数将结果返回给一个变量,无需return就可返回
//返回的是对象类型哦!
var 对象名 = new 构造函数名(实参1,实参2);

②调用对象

对象名.属性;
对象名.函数(传参);

③示例

 function Person(name,age,sex){
 	 this.name = name;
     this.age = age;
     this.sex = sex;
     this.sayHi = function(hua){
         alert(hua);
     }
}	
var res = new Person();
res.sayHi('你好哇!');
(4)示例--创建一个电脑对象
    // 电脑对象
    // ①字面量创建对象
    var computer = {
        color : '颜色',
        weight : '重量',
        type : '型号',
        watchFilm : function(){
            console.log('看电影啦~');
        }
    }
    console.log(computer);
    // ②new Object创建
    var computer1 = new Object();
    computer1.color = '颜色';
    console.log(computer1);
    // ③利用构造函数
    function Conputer(color,weight,bank,type){
        this,color = color;
        this.weight = weight;
        this.bank = bank;
        this.type = type;
        this.watchFilm = function(){
            console.log('看电影啦~');
        }
    }
    var computer3 = new Conputer('红色','180kg','联想','笔记本电脑');
    console.log(computer3);
4.使用对象
(1)调用对象属性
  • 还可以用来判断是否有该属性值
①对象名.属性名
 obj.sex;//输出obj对象的sex属性值
②对象名['属性名']--字符串常用
obj['sex']//输出obj对象的sex属性值
(2)调用对象方法
①对象名.函数名()
  • 注意函数后要有小括号
obj.sayHi();//调用obj对象的sayHi方法
5.遍历对象属性-for..in
用于对数组或对象属性进行循环操作
(1)for...in语法格式
  • 变量常用 k 或 key代替。

  • k 得到属性名
  • 对象名[k]得到属性值
  • 方法名也可遍历哦,但不常用

for (变量 in 对象){//一般用k
  //1️⃣输出k,得到对象属性名
  //2️⃣输出obj[k],得到对象属性值 
    
}
(2)示例
     var obj = {
	 uname : '张三疯',
 	 age : 18,
 	 sex : '男',
  
    }
    for(k in obj){
        alert(k);//输出属性名
        alert(obj[k])//输出属性值
    }
6.小结

1677772277018

十七、变量、属性、函数、方法的区别
1.变量与属性区分
(1)相同点

都用于存储数据

(2)不同点

变量:单独声明并赋值,使用直接写“变量名“(单独使用)

**属性:**与对象一起存在,使用需写 “对象名.属性名“(和对象一起)

2.函数与方法区分
(1)相同点

都用于实现某功能做某事,都是动词

(2)不同点

**函数:**单纯声明并调用的,调用直接写 “函数名( )“ 。

**方法:**在对象里,调用需写 “对象.方法名()“ 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邓六日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值