对象Object复杂数据类型、简单对象

对象是一组无序的相关属性和方法的集合,所有事物都是对象,列如字符串、数字数组函数等数据类型

  • 变量 属性

相同点:

        都是来存储数据的

不同点:

        变量是单独存在并赋值 使用的时候直接写变量名 单独存在

        属性在对象里面不需要声明,使用的时候必须是 对象.属性

  • 函数 方法

相同点:

        都是实现某种功能,某件事

不同点:

        函数是单独声明 并且调用的函数名()单独存在

        方法在对象里面  调用的时候 对象.方法()

  • 数据类型

一、基本数据类型:

number     string    boolean     null  undefined

10|10.98      ""       true|false    null  undefined

二、复杂数据类型:

        Object 对象        function 函数        Array 数组        Math数学等

  • 创建方式
方法一: 字面量方式创建
    1、多个属性或方法逗号隔开
    2、方法冒号后面是一个匿名函数
    var 引用变量={
        属性名:属性值,
        方法名:function(){}-是匿名函数
    }
对象外赋值: 对象名['属性名']=属性值
对象外赋值: 对象名.属性名==属性值
对象访问调用
    对象名['属性名']------可以是变量动态赋值和访问
    对象名.属性名----固定的属性
    对象名.方法名()


方法二: 构造函数、利用=赋值的方法 添加对象和属性
    var obj=new Object();
    obj.name='';
    obj.sathi=function(){};
    对象名['属性名']=属性值
对象访问调用
    对象名.属性名
    对象名['属性名']
    对象名.方法名()

方法三:构造函数、把多个对象相同的代码和方法抽象出来封装到函数里面
function Duix(x, y) {    
    this.name = x;
    this.age = y;            //this指向函数的调用者
    this.fun = function () {
    //不需要return
    console.log('123');
    }
}
var obj2 = new Duix('张三', 18)     //用new 实例化一个对象
        obj2.sex = '男'
        console.log(obj2.sex);  //  输出'男'    
        console.log(obj2['sex']);  //  输出'男'  
        obj2.fun()  //  输出123--                    //构造函封装好的方法
        console.log(obj2.name);   // 输出'张三'      //构造函封装好的属性
  • 对象的遍历

一、for-in 可以循环遍历对象,数组,字符串

1、遍历对象,访问对象属性,

2、遍历数组,访问数组索引号,

3、遍历字符串,访问字符串索引号

二、for-of for-of 可以遍历数组,字符串和Map(集合,后面学习), 不能遍历对象

1、遍历数组,访问数组元素

2、遍历字符串,访问字符串字符元素

var obj = {
name: 'jack',
age: 20
}
let arr = [10,20,30]
let str = 'hello'
//for-in遍历对象,获取对象属性
for (var key in obj) {
console.log(`key : ${key} value: ${obj[key]}`);
}
//for-in遍历数组,获取数组下标
for(let key in arr){
console.log(key);
}
//for-in遍历字符串,获取字符下标
for(let key in str){
console.log(key);
}

var obj = {
name: 'jack',
age: 20
}
let arr = [10,20,30]
let str = 'hello'
let map = new Map([["姓名", "小王"],["年龄","23"]]) //一种存储数据的结构,后面学习内容
//for-of不能遍历对象
for (let v of obj) {
console.log(v);
}
//for-of遍历数组,获取数组元素
for(let v of arr){
console.log(v);
}
//for-of 遍历字符串,获取字符元素
for(let v of str){
console.log(v);
}
//for-of遍历Map集合
for(let v of map){
console.log(v);
}

区别:

        for in可以遍历对象,for of不能遍历对象 B 、for of可以用来遍历map集合,for in不能遍历map集合 C 、for in遍历数组得到的是数组的下标,for of遍历数组得到的是数组的元素 D 、for in遍历键 for of遍历值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值