作者: 招投标秘籍 | 来源:发表于2021-03-09 21:26 被阅读0次

    我们知道数据类型一共分为Number、String、Boolean、Null、undefined、object、symbol、bigIn八种,今天主要来介绍一种非常重要的object(对象).

    1.对象的基本概述

    1.1对象的定义

    对象为无序的数据和键值对的集合.

    1.2对象的写法

    1.let obj ={'name':'runrun','age':'26'}
    2.let  obj=new Object({'name':'runrun','age':'26'})
    3.console.log({'name':'runrun','age':'26'})
    

    1.3对象需要注意的几点

    示例中的键为字符串,引号可以省略不过省略之后还是字符串.举例比如空字符串也可以是键(同时表情中文这些都可以做键值)

     var obj = {
        '':1
        }
      console.log(obj)//下面是打印的结果
    
    image.png

    1.4如何让变量的值成为键,加上[]

    let a ='xxx'
     var obj ={
         'a':1111
     }
     
     var obj2 ={
         [a]:1111
     }
     console.log(obj)//没变
     console.log(obj2)//变量的值已经为键
    
    image.png

    2.删除对象的属性

    2.1删除属性两种方法(delate和obj.name=undefined)

    1.var obj ={name: 'frank','age':30}
    obj.name=undefined//键还在,不过值为undefined
    console.log(obj)
    
    2.var obj1={name:'frank',age:26}
    delete obj1.name
    console.log(obj1)//直接删除也可以用delete obj1['name']
    
    image.png

    2.2如何判断该属性名是不是obj的

    1. 'xxx' in obj === false(不含属性名)
    2. 'xxx' in obj && obj.xxx === undefined(含有属性名,值为undefined)

    3.查看对象的属性

    3.1查看各总情况的属性

    let obj2 = {name:'frank',age:34} 
    console.log(Object.keys(obj2))//查看所有的键
    console.log(Object.values(obj2))//查看所有键的值
    console.log(Object.entries(obj2))//Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组
    console.dir(obj2)//可以打印自有属性和共有属性
    
    image.png

    3.2如何查看该属性是不是自己所有的属性

    console.log(obj.hasOwnProperty('toString'))
    
    image.png

    3.3如何查看属性的值

    let obj2 = {name:'frank',age:34} 
    obj2['name']
    console.log(obj2['name'])
    
    image.png

    4.如何修改和增加属性

    4.1修改和增加一般属性

    let obj2 = {name:'frank',age:34} 
    console.log(obj2['name']='jack')//改了键值
    console.log(obj2['age']=88)//改了年龄
    console.log(Object.assign(obj2,{p1:1,p2:2})//修改多对键和值
    
    image.png

    4.2如何创建原型修改隐藏属性

    var common={'国籍':'中国',hairColor:'black'}
    var person={name:'frank'}
    person._proto_=common
    console.dir(person)//把common设置为了原型
    
    var common={'国籍':'中国',hairColor:'black'}
    var person =Object.create(common,{name:{value:'frank'}})
    console.dir(person)
    
    image.png

    5.'name' in obj和obj.hasOwnProperty('name') 的区别

    in判断的是对象的所有属性,包括对象自身及其原型的属性;
    而hasOwnProperty则是判断对象自身是否具有某个属性。

    Object.prototype.apple= 'red';
    let obj = {
        name: 'runrun',
        age: '2'
    }
    console.log(obj.hasOwnProperty('apple')) // false
    console.log(obj.hasOwnProperty('apple')) // true
    console.log('apple' in obj) // true
    

    本文为本人的原创文章,著作权归本人和饥人谷所有,转载务必注明来源.

    相关文章

      网友评论

        本文标题:

        本文链接:https://www.haomeiwen.com/subject/mchmqltx.html