JS学习笔记(对象)

18 篇文章 0 订阅
3 篇文章 0 订阅

对象是什么?此对象非彼对象,虽然程序员是很想能自己定义一个“对象”,但是对象实际是一种复杂数据类型。

对象作用:以键值对方式存储多个数据。

对象和数组异同点:

相同点:都是复杂数据类型,都可以存储多个数据。

不同点:存储方式不同。

数组:有序存储。

对象:无序存储(键值对)。

//1.使用基本数据类型
  let name ='zw'
  let age = 19
  let sex = 'nan'

  //好处阅读性高
  //弊端:沉余
// 2.使用复杂数据类型-数组 
let arr = ['班长',18,'男'] 
console.log(arr);
// 好处:一个变量存储多个数据// 弊端:阅读性不高
// 3.使用对象
let obj = { name:'班长',age:38, sex:'男'}

对象的语法:

对象的声明 

let 对象名={

    属性名:属性值,

    属性名:属性值,

}

对象的取值:对象名.属性名

面对对象的属性值不同取值语法也不同如下例子的代码注释

        let obj = {
            name: '王子',
            age: 19,
            gfs: ['芭芭拉', '温蒂', '可莉'],
            sayhi: function () {
                console.log(111);
            },
        }
        console.log(obj);
        console.log(obj.name); 
        console.log(obj.age);
         console.log(obj.gfs);
        console.log(obj.gfs[2]); 
        console.log(obj.sayHi);
         console.log(obj.sayHi());
// 细节:对象中的属性值是什么数据类型,取出来的时候就可以使用这个类型的所有语法。
// 如:对象中的属性值是 数组,则可以:对象名.属性名[下标]
// 如:对象中的属性值是 函数,则可以:对象名.属性名()

对象的操作:

 let obj ={
            name:'秀吉',
            age:19,
            sex:'不男不女',
        }

   // 1.查询语法(属性名存在,获取属性值;属性名不存在,获取underfined)
   // a.点语法 对象名.属性名
   // b.[]语法 对象名['属性名']
   // a.点语法 对象名.属性名
console.log(obj.name );//班长 
console.log(obj.age );//18
 console.log(obj.sex );//男
console.log(obj.country);//undefined
// b.[]语法对象名['属性名']
console.log(obj['sex'] );//男
// 2.修改属性
// a.对象名.属性名 = 值
// b.对象名['属性名'] = 值 
obj.name ='李四'; 
obj['age'] = 20;
console.log(obj);//{name:'李四',age: 20,sex:'男'}
// 3.新增属性
// a.如果对已经存在的属性赋值,则是修改
// b.如果对不存在的属性赋值,则是新增 
obj.hobby ="学习"
console.log(obj);//{name:'李四",age:20,sex:"男',hobby:'学习'}
// 4.删除对象属性
// delete 对象名.属性名 
delete obj.age
console.log(obj);//{name:'李四",sex:'男',hobby:'学习'}

以上简述了对象的增删改查的语法。

对象的遍历:

      //1.遍历数组:for循环
      // for(let i= 0; i<arr.length;i++){arr[i]}
      //2.遍历对象:特殊的for-in循环(专门用于遍历对象)
      //for(let key in 对象名){对象名[key]}
  
     let obj = {
         name:'豆包',
         age:18,
         sex:'男',
         hobby:'干饭'
     }      

     for(let key in obj){
         console.log(key);
         console.log(obj[key]);
     }
  </script>  

对象的遍历有三种方式

1.利用Map对象

首先通过Object.entries将对象转为数组格式,再转为Map对象。利用Map对象的遍历方法即可遍历对象

2.for...in

通过属性进行遍历,也就是枚举

3.for...of

先获取属性名的数组,通过遍历属性名遍历对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马Node.js学习笔记是一本关于Node.js学习资料,其中包含了关于模块化规范的内容。模块化规范是对代码进行模块化的拆分与组合时需要遵守的规则。在Node.js中,模块可以分为内置模块、自定义模块和第三方模块。内置模块是由Node.js官方提供的,例如fs、path、http等。自定义模块是用户创建的每个.js文件,可以通过require方法加载。第三方模块是由第三方开发的模块,需要先下载后才能使用。在每个.js自定义模块中都有一个module对象,它存储了和当前模块有关的信息。注意,在同一个模块中不要同时使用exports和module.exports。在Node.js中,加载某个模块实际上是加载该模块的module.exports属性。npm是Node.js中的包管理工具,可以用于下载和管理第三方模块,而第三方模块也被称为包。总之,黑马Node.js学习笔记提供了关于Node.js模块化规范的详细解释和使用方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [黑马程序员node.js学习笔记](https://blog.csdn.net/weixin_50523986/article/details/129937301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值