Object

作者: 颠倒的黑白 | 来源:发表于2017-06-19 17:37 被阅读0次

    1.对象的属性
    2.值和引用
    3.类型与构造器
    4.内置类型
    5.class(后面讲)

    对象的属性

    属性名规则:可以使邮箱字符窜或者任意可转换为有效字符串的类型
    属性的访问和遍历

    对象创建

    //创建对象  菜鸟
    {
      let myObj = new Object();
      myObj.name='jk';
      myObj.age=20;
      console.log(myObj);
    }
    
    //普通青年
    {
      let myObj={
        name:'jk',
        age:22
      }
      console.log(myObj);
    }
    
    //有些二逼青年
    {
      let myObj = Object.create({name:'jk',age:22})
      console.log(myObj);
    }
    

    属性访问

    //对象属性是有效字符串,属性访问可以通过.和[]
    {
        let myObj={
        name:'jk',
        age:22
        }
        console.log([myObj.name,myObj.age]);
    }
    
    
    {
      //[]属性访问的好处是可以计算
      const conf= {
        adapter:'sqlite',
        db:{
            sqlite:{
            //...
          },
            mysql:{
          //...
          }
        }
      };
      let dbSetting=conf.db[conf.adapter];
    }
    
    {
      //在ES6中字面量的key也支持属性计算
      let process = {env:{}};
      
      const ENV = process.env.JSBIN_ENV || 'development';
      
      const conf= {
        [ENV]:true
      };
      
      console.log([conf.development,conf.production]);
    }
    

    属性遍历

    let point = {
      x :100,
      y :200,
      getLength : function() {
        let {x,y} = this;
        return Math.sqrt(x*x + y*y);
      }
    }
    
    console.log(point.getLength());
    
    //用for...in 遍历
    for(let key in point) {
      console.log([key,[point[key]]]);
    }
    
    //用Object.keys 遍历
    Object.keys(point).forEach((key) => console.log([key,point[key]]))
    

    相关文章

      网友评论

          本文标题:Object

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